Skip to main content

Python interface for IARP's myDATA service

Project description

Supported Python Versions PyPI version

CLI / HTTP client for myDATA

This project allows users to interact with myDATA ("my Digital Accounting and Tax Application") either via a Python HTTP client or from the CLI.

Install

Install it with pip:

python -m pip install mydata-client

Usage

[!WARNING] The tool is not suitable yet for production use. We strongly suggest that you use it for experimenting only with the development sandbox that myDATA provides.

[!NOTE] Oh, you may also find the docs a bit... lacking :grimacing:

If you want to interact programmatically with myDATA's API, you can use the HTTP client under mydata/client.py. The Python dataclasses that bind to XML documents can be found in the mydata/models* modules, depending on which version of the API you want to use.

There is also a proof-of-concept CLI that you can use:

mydata --username <username> <command>

There are two command groups that you can invoke:

  • The api command group, which is unopinionated and straight up hits the endpoint that you ask.
  • The invoice command group, which is heavily opinionated and adds some helper commands to work with invoices. Basically, it's there to assist the list -> retrieve -> copy -> edit -> validate -> send lifecycle of an invoice.

Building

Install Poetry. Then, install the project dependencies:

poetry install

Adding new XSD schemas

Whenever there's an API update, myDATA devs include the XML schemas for the latest API. You can include them in the project as follows:

  • Add the XML schemas under schemas/<version> dir. For example, for the 1.0.8 XSDs, we added them with:

    cp -r '/path/to/version v1.0.8 XSDs' schemas/1.0.8
    
  • Generate Python classes from the new XSDs. For example, for the 1.0.8 XSDs, we generated Python classes with:

    poetry run xsdata -ss single-package -ds Google -r schemas/1.0.8/ -p mydata.models_v1_0_8
    
  • Generate Markdown documentation from the generated Python classes with:

    poetry run pydoc-markdown -m mydata.models_v1_0_8 --render-toc > docs/models_v1_0_8.md
    

License

Licensed under MPL-2.0. Please read the NOTICE.md and LICENSE files for the full copyright and license information.

Useful links

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

mydata_client-0.1.2.tar.gz (33.8 kB view hashes)

Uploaded Source

Built Distribution

mydata_client-0.1.2-py3-none-any.whl (35.0 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