Skip to main content

Python wrapper for the MEOS C Library.

Project description

MEOS Logo

pypi docs status Code style: black

MEOS (Mobility Engine, Open Source) is a C library which enables the manipulation of temporal and spatio-temporal data based on MobilityDB's data types and functions.

PyMEOS is a library built on top of MEOS that provides all of its functionality wrapped in a set of Python classes.

For the PyMEOS CFFI library, the middle layer between MEOS and PyMEOS, see the PyMEOS CFFI repository.

Usage

Installation

You can install PyMEOS (pymeos and pymeos-cffi) using pip, conda, or from sources.

Using pip

pip install pymeos

PyMEOS wheel should be compatible with any system, but it is possible that the pre-built distribution is not available for PyMEOS CFFI for some OS/Architecture.

Using conda

PyMEOS is also available on the conda-forge channel. To install it, first add the conda-forge channel to your conda configuration:

conda config --add channels conda-forge
conda config --set channel_priority strict

Then, you can install PyMEOS using the following command:

conda install conda-forge::pymeos

Source installation

For detailed instructions on how to install PyMEOS from sources, see the installation page in the PyMEOS Documentation.

Sample code

IMPORTANT Before using any PyMEOS function, always call pymeos_initialize. Otherwise, the library will crash with a Segmentation Fault error. You should also always call pymeos_finalize at the end of your code.

from pymeos import pymeos_initialize, pymeos_finalize, TGeogPointInst, TGeogPointSeq

# Important: Always initialize MEOS library
pymeos_initialize()

sequence_from_string = TGeogPointSeq(
    string='[Point(10.0 10.0)@2019-09-01 00:00:00+01, Point(20.0 20.0)@2019-09-02 00:00:00+01, Point(10.0 10.0)@2019-09-03 00:00:00+01]')
print(f'Output: {sequence_from_string}')

sequence_from_points = TGeogPointSeq(instant_list=[TGeogPointInst(string='Point(10.0 10.0)@2019-09-01 00:00:00+01'),
                                                   TGeogPointInst(string='Point(20.0 20.0)@2019-09-02 00:00:00+01'),
                                                   TGeogPointInst(string='Point(10.0 10.0)@2019-09-03 00:00:00+01')],
                                     lower_inc=True, upper_inc=True)
speed = sequence_from_points.speed()
print(f'Speeds: {speed}')

# Call finish at the end of your code
pymeos_finalize()
Output: [POINT(10 10)@2019-09-01 01:00:00+02, POINT(20 20)@2019-09-02 01:00:00+02, POINT(10 10)@2019-09-03 01:00:00+02]
Speeds: Interp=Step;[17.84556057812839@2019-09-01 01:00:00+02, 17.84556057812839@2019-09-03 01:00:00+02]

For more examples and use-cases, see PyMEOS Examples repository

Documentation

Visit our ReadTheDocs page for a more complete and detailed documentation, including an installation manual and several examples.

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

pymeos-1.2.1.tar.gz (88.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pymeos-1.2.1-py3-none-any.whl (128.8 kB view details)

Uploaded Python 3

File details

Details for the file pymeos-1.2.1.tar.gz.

File metadata

  • Download URL: pymeos-1.2.1.tar.gz
  • Upload date:
  • Size: 88.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pymeos-1.2.1.tar.gz
Algorithm Hash digest
SHA256 35a642c2bb24e080dc5aad40dc2fd2bd68871d73af98defca50c8c79b8ad5bbb
MD5 e399e3b097c653b49acd1852a5bd8d84
BLAKE2b-256 9196069a15e143b3bb7fe8362f9592cdf35dcb99b827ca52b396727e4e60f09a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymeos-1.2.1.tar.gz:

Publisher: release_and_publish.yml on MobilityDB/PyMEOS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pymeos-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: pymeos-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 128.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pymeos-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1624ff9e69e9c7b708011399898dabb4e663e6daf0bc85ac7d7349dbff5019e5
MD5 254fa67cb94618f858bd0108e44ee5c3
BLAKE2b-256 fa43d6abbbf9deb12df953b66ff3570fc7ad7dd7328ca4d3cfe041b0ee62c9d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymeos-1.2.1-py3-none-any.whl:

Publisher: release_and_publish.yml on MobilityDB/PyMEOS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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