joegasewicz / geolocations-api Goto Github PK
View Code? Open in Web Editor NEWTown / City geolocations with FastAPI & Mongo
Home Page: https://hub.docker.com/r/bandnoticeboard/geolocations-api
License: MIT License
Town / City geolocations with FastAPI & Mongo
Home Page: https://hub.docker.com/r/bandnoticeboard/geolocations-api
License: MIT License
Add an example docker-compose.example.yml
file with mongodb & bandnoticeboard/geolocations-api
Add to the readme the example above.
README should list dockerfile env variables & their purpose
Error running on Ubuntu 20.04.3 LTS
geolocations_1 | ERROR: Exception in ASGI application
geolocations_1 | Traceback (most recent call last):
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/uvicorn/protocols/http/httptools_impl.py", line 376, in run_asgi
geolocations_1 | result = await app(self.scope, self.receive, self.send)
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/uvicorn/middleware/proxy_headers.py", line 75, in __call__
geolocations_1 | return await self.app(scope, receive, send)
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/fastapi/applications.py", line 208, in __call__
geolocations_1 | await super().__call__(scope, receive, send)
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/starlette/applications.py", line 112, in __call__
geolocations_1 | await self.middleware_stack(scope, receive, send)
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/starlette/middleware/errors.py", line 181, in __call__
geolocations_1 | raise exc
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/starlette/middleware/errors.py", line 159, in __call__
geolocations_1 | await self.app(scope, receive, _send)
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/starlette/middleware/cors.py", line 84, in __call__
geolocations_1 | await self.app(scope, receive, send)
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/starlette/exceptions.py", line 82, in __call__
geolocations_1 | raise exc
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/starlette/exceptions.py", line 71, in __call__
geolocations_1 | await self.app(scope, receive, sender)
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/starlette/routing.py", line 656, in __call__
geolocations_1 | await route.handle(scope, receive, send)
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/starlette/routing.py", line 259, in handle
geolocations_1 | await self.app(scope, receive, send)
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/starlette/routing.py", line 61, in app
geolocations_1 | response = await func(request)
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/fastapi/routing.py", line 226, in app
geolocations_1 | raw_response = await run_endpoint_function(
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/fastapi/routing.py", line 161, in run_endpoint_function
geolocations_1 | return await run_in_threadpool(dependant.call, **values)
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/starlette/concurrency.py", line 39, in run_in_threadpool
geolocations_1 | return await anyio.to_thread.run_sync(func, *args)
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/anyio/to_thread.py", line 28, in run_sync
geolocations_1 | return await get_asynclib().run_sync_in_worker_thread(func, *args, cancellable=cancellable,
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 818, in run_sync_in_worker_thread
geolocations_1 | return await future
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 754, in run
geolocations_1 | result = context.run(func, *args)
geolocations_1 | File "/geolocations-api/./api/main.py", line 65, in locations
geolocations_1 | serialized_towns = mongo_id.multiple(towns)
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/mongo_id_marshaller/mongo_id.py", line 31, in multiple
geolocations_1 | for query_data in _doc_generator(query_list):
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/mongo_id_marshaller/mongo_id.py", line 5, in _doc_generator
geolocations_1 | for doc in mongo_docs:
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/pymongo/cursor.py", line 1159, in next
geolocations_1 | if len(self.__data) or self._refresh():
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/pymongo/cursor.py", line 1057, in _refresh
geolocations_1 | self.__session = self.__collection.database.client._ensure_session()
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/pymongo/mongo_client.py", line 1603, in _ensure_session
geolocations_1 | return self.__start_session(True, causal_consistency=False)
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/pymongo/mongo_client.py", line 1553, in __start_session
geolocations_1 | server_session = self._get_server_session()
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/pymongo/mongo_client.py", line 1589, in _get_server_session
geolocations_1 | return self._topology.get_server_session()
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/pymongo/topology.py", line 530, in get_server_session
geolocations_1 | session_timeout = self._check_session_support()
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/pymongo/topology.py", line 514, in _check_session_support
geolocations_1 | self._select_servers_loop(
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/pymongo/topology.py", line 216, in _select_servers_loop
geolocations_1 | raise ServerSelectionTimeoutError(
geolocations_1 | pymongo.errors.ServerSelectionTimeoutError: host.docker.internal:27017: [Errno -2] Name or service not known, Timeout: 30s, Topology Description: <TopologyDescription id: 61dd85923abcec01d811f834, topology_type: Unknown, servers: [<ServerDescription ('host.docker.internal', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('host.docker.internal:27017: [Errno -2] Name or service not known')>]>
geolocations_1 | ERROR: Exception in ASGI application
geolocations_1 | Traceback (most recent call last):
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/uvicorn/protocols/http/httptools_impl.py", line 376, in run_asgi
geolocations_1 | result = await app(self.scope, self.receive, self.send)
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/uvicorn/middleware/proxy_headers.py", line 75, in __call__
geolocations_1 | return await self.app(scope, receive, send)
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/fastapi/applications.py", line 208, in __call__
geolocations_1 | await super().__call__(scope, receive, send)
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/starlette/applications.py", line 112, in __call__
geolocations_1 | await self.middleware_stack(scope, receive, send)
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/starlette/middleware/errors.py", line 181, in __call__
geolocations_1 | raise exc
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/starlette/middleware/errors.py", line 159, in __call__
geolocations_1 | await self.app(scope, receive, _send)
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/starlette/middleware/cors.py", line 84, in __call__
geolocations_1 | await self.app(scope, receive, send)
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/starlette/exceptions.py", line 82, in __call__
geolocations_1 | raise exc
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/starlette/exceptions.py", line 71, in __call__
geolocations_1 | await self.app(scope, receive, sender)
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/starlette/routing.py", line 656, in __call__
geolocations_1 | await route.handle(scope, receive, send)
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/starlette/routing.py", line 259, in handle
geolocations_1 | await self.app(scope, receive, send)
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/starlette/routing.py", line 61, in app
geolocations_1 | response = await func(request)
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/fastapi/routing.py", line 226, in app
geolocations_1 | raw_response = await run_endpoint_function(
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/fastapi/routing.py", line 161, in run_endpoint_function
geolocations_1 | return await run_in_threadpool(dependant.call, **values)
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/starlette/concurrency.py", line 39, in run_in_threadpool
geolocations_1 | return await anyio.to_thread.run_sync(func, *args)
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/anyio/to_thread.py", line 28, in run_sync
geolocations_1 | return await get_asynclib().run_sync_in_worker_thread(func, *args, cancellable=cancellable,
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 818, in run_sync_in_worker_thread
geolocations_1 | return await future
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 754, in run
geolocations_1 | result = context.run(func, *args)
geolocations_1 | File "/geolocations-api/./api/main.py", line 65, in locations
geolocations_1 | serialized_towns = mongo_id.multiple(towns)
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/mongo_id_marshaller/mongo_id.py", line 31, in multiple
geolocations_1 | for query_data in _doc_generator(query_list):
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/mongo_id_marshaller/mongo_id.py", line 5, in _doc_generator
geolocations_1 | for doc in mongo_docs:
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/pymongo/cursor.py", line 1159, in next
geolocations_1 | if len(self.__data) or self._refresh():
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/pymongo/cursor.py", line 1057, in _refresh
geolocations_1 | self.__session = self.__collection.database.client._ensure_session()
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/pymongo/mongo_client.py", line 1603, in _ensure_session
geolocations_1 | return self.__start_session(True, causal_consistency=False)
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/pymongo/mongo_client.py", line 1553, in __start_session
geolocations_1 | server_session = self._get_server_session()
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/pymongo/mongo_client.py", line 1589, in _get_server_session
geolocations_1 | return self._topology.get_server_session()
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/pymongo/topology.py", line 530, in get_server_session
geolocations_1 | session_timeout = self._check_session_support()
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/pymongo/topology.py", line 514, in _check_session_support
geolocations_1 | self._select_servers_loop(
geolocations_1 | File "/root/.local/share/virtualenvs/geolocations-api-NPGMF1o2/lib/python3.10/site-packages/pymongo/topology.py", line 216, in _select_servers_loop
geolocations_1 | raise ServerSelectionTimeoutError(
geolocations_1 | pymongo.errors.ServerSelectionTimeoutError: host.docker.internal:27017: [Errno -2] Name or service not known, Timeout: 30s, Topology Description: <TopologyDescription id: 61dd85923abcec01d811f834, topology_type: Unknown, servers: [<ServerDescription ('host.docker.internal', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('host.docker.internal:27017: [Errno -2] Name or service not known')>]>
logs:
joe@joe-OptiPlex-790:~/Projects/geolocations-api$ make mongo-import-towns
mongoimport -d bn_database -c towns --file ./towns.json --authenticationDatabase admin --username admin --password admin --host localhost --port 27017
2022-01-11T11:34:12.832+0000 Failed: error connecting to db server: server returned error on SASL authentication step: BSON field 'saslContinue.mechanism' is an unknown field.
2022-01-11T11:34:12.832+0000 imported 0 documents
make: *** [Makefile:30: mongo-import-towns] Error 1
Should be an env variable
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.