Skip to main content

MobilityDB extensions to SQLAlchemy

Project description

Test Status Documentation Status

MobilityDB 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.

Installation

The package is available on PyPI, for Python >= 3.7

pip install mobilitydb-sqlalchemy

Usage

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

Contributing

Issues and pull requests are welcome.

Setup environment

First, make sure you have poetry installed Then, get the dependencies by running (in the project home directory):

poetry install

Also make sure you setup git hooks locally, this will ensure code is formatted using black before committing any changes to the repository

pre-commit install

Running Tests

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mobilitydb-sqlalchemy-0.2.0.tar.gz (8.3 kB view hashes)

Uploaded Source

Built Distribution

mobilitydb_sqlalchemy-0.2.0-py3-none-any.whl (8.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page