https://github.com/bis-med-it/pysdmx

Your opinionated Python SDMX library

https://github.com/bis-med-it/pysdmx

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.8%) to scientific vocabulary

Keywords

sdmx
Last synced: 6 months ago · JSON representation

Repository

Your opinionated Python SDMX library

Basic Info
Statistics
  • Stars: 15
  • Watchers: 3
  • Forks: 3
  • Open Issues: 16
  • Releases: 12
Topics
sdmx
Created over 2 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog License Security

README.rst

.. |pypi badge| image:: https://img.shields.io/pypi/v/pysdmx.svg
   :target: https://pypi.org/project/pysdmx/

.. |awesome badge| image:: https://awesome.re/mentioned-badge.svg
   :target: http://www.awesomeofficialstatistics.org

|pypi badge| |awesome badge|

``pysdmx`` in a nutshell
************************

What is pysdmx?
===============

``pysdmx`` is a **pragmatic** and **opinionated** SDMX library written in
**Python**. It focuses on **simplicity**, providing a subset of SDMX functionalities
without requiring advanced knowledge of SDMX. ``pysdmx`` is developed as part of
the `sdmx.io `_ project under the **BIS Open Tech initiative**.

What does it do?
================

``pysdmx`` aspires to be a versatile SDMX toolbox for Python, covering various
use cases. Here are some highlights:

SDMX information model in Python
--------------------------------

``pysdmx`` offers Python classes representing a **simplified subset of the SDMX
information model**, enabling a domain-driven development of SDMX processes in
Python. The model classes support serialization in formats like JSON, YAML, or
MessagePack. This functionality relies on the 
`msgspec library `_.

Metadata in action
------------------

SDMX metadata are very useful for documenting statistical processes. For example,
they can define the structure we expect for a data collection process and share
it with the organizations providing data so that they know what to send.

However, metadata can do so much more than that, i.e., they can be “active” and
**drive various types of statistical processes**, such as generating the filesystem
layout, creating the physical data model, validating data, mapping data, and
configuring processes. To drive such processes, ``pysdmx`` supports retrieving
metadata from an SDMX Registry or any service compliant with the SDMX-REST 2.0.0 (or
above) API. Use these metadata to power your own statistical processes!

Reading and writing SDMX files
------------------------------

``pysdmx`` supports reading and writing SDMX data and structure messages, in various
formats, such as SDMX-CSV, SDMX-JSON, and SDMX-ML.

Data discovery and data retrieval
---------------------------------

This functionality is under development. Once ready, ``pysdmx`` will allow:
 
- **Listing public SDMX services**.
- **Discovering data** available in these services.
- **Retrieving data** from these services.
 
This functionality is based on the **SDMX Global Discovery Service initiative**.

Integration with the ecosystem
------------------------------

``pysdmx`` integrates nicely with other standards, like the `Validation and
Transformation Language (VTL) `_,
and major Python libraries like `Pandas `_.
Take a look at the ``pysdmx`` toolkit module to learn more.

``pysdmx`` is available on `PyPI `_ and can be
installed using options such as pip, pipx, poetry, etc.

For more details, check the `project documentation 
`_.

Owner

  • Name: MEDIT
  • Login: bis-med-it
  • Kind: organization

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 133
  • Total pull requests: 192
  • Average time to close issues: 14 days
  • Average time to close pull requests: 4 days
  • Total issue authors: 12
  • Total pull request authors: 8
  • Average comments per issue: 0.59
  • Average comments per pull request: 0.33
  • Merged pull requests: 136
  • Bot issues: 0
  • Bot pull requests: 12
Past Year
  • Issues: 111
  • Pull requests: 145
  • Average time to close issues: 7 days
  • Average time to close pull requests: 3 days
  • Issue authors: 11
  • Pull request authors: 5
  • Average comments per issue: 0.66
  • Average comments per pull request: 0.28
  • Merged pull requests: 108
  • Bot issues: 0
  • Bot pull requests: 3
Top Authors
Issue Authors
  • javihern98 (59)
  • sosna (52)
  • jfrancma (6)
  • stratosn (3)
  • gabrielgellner (2)
  • antonio-olleros (2)
  • ElrickBis (2)
  • flori-ko (2)
  • bisdevres (1)
  • tonyfujs (1)
  • hoehrmann (1)
  • mla2001 (1)
Pull Request Authors
  • sosna (113)
  • javihern98 (42)
  • jfrancma (15)
  • dependabot[bot] (12)
  • stratosn (4)
  • mla2001 (4)
  • bvitez (1)
  • stephprobst (1)
Top Labels
Issue Labels
minor (31) enhancement (26) bug (24) normal (11) dependencies (3) documentation (2) new feature (2) question (2) Chores (1)
Pull Request Labels
dependencies (13) enhancement (6) bug (4) python (2) minor (1) documentation (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 3,527 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 29
  • Total maintainers: 1
pypi.org: pysdmx

Your opinionated Python SDMX library

  • Versions: 29
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 3,527 Last month
Rankings
Dependent packages count: 7.5%
Average: 38.7%
Dependent repos count: 69.9%
Maintainers (1)
Last synced: 6 months ago

Dependencies

.github/workflows/ci.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
  • actions/upload-artifact v3 composite
poetry.lock pypi
  • alabaster 0.7.13
  • anyio 3.7.1
  • astor 0.8.1
  • attrs 23.1.0
  • babel 2.13.1
  • bandit 1.7.5
  • black 23.7.0
  • build 1.0.3
  • certifi 2023.7.22
  • charset-normalizer 3.3.1
  • click 8.1.7
  • colorama 0.4.6
  • coverage 7.3.0
  • darglint 1.8.1
  • docutils 0.18.1
  • exceptiongroup 1.1.3
  • flake8 6.1.0
  • flake8-bandit 4.1.1
  • flake8-black 0.3.6
  • flake8-bugbear 23.7.10
  • flake8-comprehensions 3.14.0
  • flake8-docstrings 1.7.0
  • flake8-import-order 0.18.2
  • flake8-plugin-utils 1.3.3
  • flake8-pytest-style 1.7.2
  • flake8-simplify 0.20.0
  • gitdb 4.0.10
  • gitpython 3.1.37
  • h11 0.14.0
  • httpcore 0.17.3
  • httpx 0.24.1
  • idna 3.4
  • imagesize 1.4.1
  • importlib-metadata 6.8.0
  • iniconfig 2.0.0
  • jinja2 3.1.2
  • markdown-it-py 3.0.0
  • markupsafe 2.1.3
  • mccabe 0.7.0
  • mdurl 0.1.2
  • msgspec 0.18.2
  • mypy 1.5.1
  • mypy-extensions 1.0.0
  • packaging 23.1
  • pathspec 0.11.2
  • pbr 5.11.1
  • platformdirs 3.10.0
  • pluggy 1.2.0
  • pycodestyle 2.11.0
  • pydocstyle 6.3.0
  • pyflakes 3.1.0
  • pygments 2.16.1
  • pyproject-hooks 1.0.0
  • pyroma 4.2
  • pytest 7.4.0
  • pytest-asyncio 0.21.1
  • pytest-cov 4.1.0
  • pyyaml 6.0.1
  • requests 2.31.0
  • respx 0.20.2
  • rich 13.5.2
  • setuptools 68.1.2
  • smmap 5.0.0
  • sniffio 1.3.0
  • snowballstemmer 2.2.0
  • sphinx 7.2.6
  • sphinx-autodoc-typehints 1.24.0
  • sphinx-rtd-theme 1.3.0
  • sphinxcontrib-applehelp 1.0.7
  • sphinxcontrib-devhelp 1.0.5
  • sphinxcontrib-htmlhelp 2.0.4
  • sphinxcontrib-jquery 4.1
  • sphinxcontrib-jsmath 1.0.1
  • sphinxcontrib-qthelp 1.0.6
  • sphinxcontrib-serializinghtml 1.1.9
  • stevedore 5.1.0
  • tomli 2.0.1
  • trove-classifiers 2023.11.14
  • typing-extensions 4.7.1
  • urllib3 2.0.7
  • zipp 3.17.0
pyproject.toml pypi
  • httpx >=0.20.1
  • msgspec >=0.17.0
  • python ^3.9
.github/workflows/cd.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
.github/workflows/sphinx.yaml actions
  • actions/checkout v3 composite
  • actions/configure-pages v3 composite
  • actions/deploy-pages v2 composite
  • actions/setup-python v3 composite
  • actions/upload-pages-artifact v2 composite