MobilityDB extensions to SQLAlchemy
This package provides extensions to SQLAlchemy for interacting with MobilityDB. The data retrieved from the database is directly mapped to time index pandas DataFrame objects. Thanks to the amazing work by MobilityDB and movingpandas teams, because of which this project exists.
The package is available on PyPI, for Python >= 3.7
pip install mobilitydb-sqlalchemy
from mobilitydb_sqlalchemy import TGeomPoint from sqlalchemy import Column, Integer from sqlalchemy.ext.declarative import declarative_base Base = declarative_base() class Trips(Base): __tablename__ = "test_table_trips_01" car_id = Column(Integer, primary_key=True) trip_id = Column(Integer, primary_key=True) trip = Column(TGeomPoint) trips = session.query(Trips).all()
For more details, read our documentation
Issues and pull requests are welcome.
First, make sure you have poetry installed Then, get the dependencies by running (in the project home directory):
Also make sure you setup git hooks locally, this will ensure code is formatted using black before committing any changes to the repository
Spin up a mobilitydb instance
docker volume create mobilitydb_data docker run --name "mobilitydb" -d -p 25432:5432 -v mobilitydb_data:/var/lib/postgresql codewit/mobilitydb
Run the tests
movingpandas is an optional dependency - but to run tests you would need it. So if this is your first time rnning tests, install it by running:
# Currently installing the optional dependency of movingpandas # using `poetry install -E movingpandas` doesn't work # To get movingpandas use pip instead of poetry, run the following (in exact order): poetry shell pip install cython pip install git+https://github.com/SciTools/cartopy.git --no-binary cartopy pip install movingpandas pip install rasterio --upgrade # This is because of movingpandas depencenies rasterio, cython and cartopy: # (1) rasterio, cython result in unresolved dependencies # (2) cartopy is not PEP 518 compliant # Refer: https://github.com/SciTools/cartopy/issues/1112
Now, you can actually run the tests using:
poetry run pytest
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size mobilitydb_sqlalchemy-0.2.0-py3-none-any.whl (8.4 kB)||File type Wheel||Python version py3||Upload date||Hashes View hashes|
|Filename, size mobilitydb-sqlalchemy-0.2.0.tar.gz (8.3 kB)||File type Source||Python version None||Upload date||Hashes View hashes|
Hashes for mobilitydb_sqlalchemy-0.2.0-py3-none-any.whl
Hashes for mobilitydb-sqlalchemy-0.2.0.tar.gz