Skip to main content

A Library to interact with the Impresso API

Project description

Impresso Python Library

PyPI version PyPI - License

Impresso is a library designed to facilitate interaction with the Impresso dataset. It offers a comprehensive set of classes for API interaction and a variety of tools to streamline data manipulation and analysis.

You can find the full documentation at https://impresso.github.io/impresso-py/.

Installation

With pip:

pip install impresso

Usage

See sample notebooks in the examples/notebooks directory or examples available in the Impresso Datalab.

Extending the library

We use Poetry for dependency management. To install the package in development mode, run the following command in the root directory of the project:

poetry install

This will create and activate a virtual environment with all the dependencies installed.

Testing

poetry run pytest

Linting

poetry run pytest
poetry run flake8 impresso tests
poetry run mypy impresso tests

OpenAPI client generation

The OpenAPI client is generated using the OpenAPI Generator. Pydantic models from the OpenAPI spec are generated too. The following command generates both the client code and the pydantic models. Make sure the Public API is running on localhost.:

poetry run generate-client

Whenever the OpenAPI spec of the Impresso Public API changes, the client code and the pydantic models must be regenerated.

Protobuf

Filters used in some endpoints are serialized as a protobuf message. The protobuf message is defined in the impresso-jscommons project. The python code is generated using the protoc compiler (must be installed separately). The following command generates the python code for the protobuf message:

poetry run generate-protobuf

About Impresso

Impresso project

Impresso - Media Monitoring of the Past is an interdisciplinary research project that aims to develop and consolidate tools for processing and exploring large collections of media archives across modalities, time, languages and national borders. The first project (2017-2021) was funded by the Swiss National Science Foundation under grant No. CRSII5_173719 and the second project (2023-2027) by the SNSF under grant No. CRSII5_213585 and the Luxembourg National Research Fund under grant No. 17498891.

Copyright

Copyright (C) 2024 The Impresso team.

License

This program is provided as open source under the GNU Affero General Public License v3 or later.


Impresso Project Logo

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

impresso-0.9.18.tar.gz (119.0 kB view details)

Uploaded Source

Built Distribution

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

impresso-0.9.18-py3-none-any.whl (274.4 kB view details)

Uploaded Python 3

File details

Details for the file impresso-0.9.18.tar.gz.

File metadata

  • Download URL: impresso-0.9.18.tar.gz
  • Upload date:
  • Size: 119.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for impresso-0.9.18.tar.gz
Algorithm Hash digest
SHA256 06f93a0c33b6717d23be3fc90d7d12a86f1bbd4d7c4d701e40c79e0a31bfd647
MD5 a02306c8f86d303c582ad8f8fb51ef9a
BLAKE2b-256 c395c6caa0e68025731143257c958ae6a4baff551464b2fd1b095ef0af6d035d

See more details on using hashes here.

File details

Details for the file impresso-0.9.18-py3-none-any.whl.

File metadata

  • Download URL: impresso-0.9.18-py3-none-any.whl
  • Upload date:
  • Size: 274.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for impresso-0.9.18-py3-none-any.whl
Algorithm Hash digest
SHA256 c0632aaf672ff618767711d8a5f498e61e5d0b92b27c39c5cd6d28d2fb02e3ac
MD5 a0a79d132a5c643280ce6fa6f323f520
BLAKE2b-256 f30914678fcd6190c16cdf27f83a0f0ce981d038416400712f97df6b7110f416

See more details on using hashes here.

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