Skip to main content

Library for creating and interacting with OpenDORS datasets.

Project description

opendors

Library for creating and interacting with the OpenDORS dataset.

Installation

# Clone git repository & change into clone directory
git clone git@gitlab.dlr.de:drus_st/opendorslib.git
cd opendorslib

# Install with poetry
poetry install

If you want to use the repository workflow rule, you also need to install:

  • Ruby >= 3.4.1
  • github-linguist gem >= 9.0.0
  • licensee gem >= 9.18.0

This repository contains a definition for a conda environment that you can use to install these extra dependencies: conda-environment.yml. To install the dependencies, do:

conda create -n opendors --file conda-environment.yml
conda activate opendors
gem install github-linguist
gem install licensee

Keep the environment activated to use the repository rule.

Usage

opendors provides both an API for creating an OpenDORS dataset, and a CLI tool to interact with an OpenDORS dataset.

usage: opendors [-h] [-c] [-v] {schema,filter,stats,merge} ...

Utilities to work with OpenDORS datasets.

positional arguments:
  {schema,filter,stats,merge}
                        Available commands
    schema              Exports the JSON schema for the opendors model to 'schema.json'.
    filter              Filters a given dataset by programming language and/or before/after dates.
    stats               Gather statistics on a given OpenDORS dataset.
    merge               Merge OpenDORS datasets into a single file.

options:
  -h, --help            show this help message and exit
  -c, --compressed      Export as unindented JSON
  -v, --verbose         Print tracebacks on error

Build Python package

Run poetry build.

To publish to PyPI, run poetry publish. You need to have a PyPI API token configured to do this.

Build conda package

The conda package is configured in conda/recipe/local/meta.yaml, and reuses information from pyproject.toml.

To build package locally, run

# Update to next dev version to keep build metadata intact
poetry version 0.1.dev<n>
conda create -n condabuild conda-build git
conda activate condabuild
conda build conda/recipe/local <optional: --output-folder [FOLDER]>
# e.g.:
#  conda build conda/recipe/local --output-folder /home/stephan/src/opendors/conda-pkgs

You can then install the package in a new environment and use it:

conda create -n my-env --use-local opendors

Run tests

Tests can be run locally as follows:

poetry run python -m pytest tests/

Test coverage

Coverage (with branch coverage) can be displayed as follows:

poetry run python -m pytest tests --cov=opendors --cov-branch --cov-report=html --cov-report=term

Static code analysis

Run prospector to analyse the code.

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

opendors-0.1.dev6.tar.gz (52.4 kB view details)

Uploaded Source

Built Distribution

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

opendors-0.1.dev6-py3-none-any.whl (60.2 kB view details)

Uploaded Python 3

File details

Details for the file opendors-0.1.dev6.tar.gz.

File metadata

  • Download URL: opendors-0.1.dev6.tar.gz
  • Upload date:
  • Size: 52.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.12.3 Linux/5.15.153.1-microsoft-standard-WSL2

File hashes

Hashes for opendors-0.1.dev6.tar.gz
Algorithm Hash digest
SHA256 841b49d5c2e803d8e952f95f88c65c601e2d76b60a21035249509aebb2398c3d
MD5 b04fb8d34eeed4c2e6d0c650f822d02b
BLAKE2b-256 0cdc1a3b3ff5050012703dbcefde6f2c509f3292f5fae26a2a21421aacb24638

See more details on using hashes here.

File details

Details for the file opendors-0.1.dev6-py3-none-any.whl.

File metadata

  • Download URL: opendors-0.1.dev6-py3-none-any.whl
  • Upload date:
  • Size: 60.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.12.3 Linux/5.15.153.1-microsoft-standard-WSL2

File hashes

Hashes for opendors-0.1.dev6-py3-none-any.whl
Algorithm Hash digest
SHA256 c86ad1dfdcea69d4d29a952a2c295fe6e9f7a03b7ddecf30d0f00d0836b1c7a1
MD5 8e97ec56f85c04916ca17cfa0a1f5d48
BLAKE2b-256 7aaeafe4690bca8b5384003fab7cd4d1c5b3e5a7383cf35aa314dc3f08878a19

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