A lightweight Python client for connecting to the Alanube e-invoicing API across multiple countries.
To install the Alanube library, you can use pip:
pip install alanube
# Import the Alanube class specific to the country,
# in this case from `alanube.do` for the Dominican Republic
from alanube.do import Alanube
# Connect to the API
Alanube.connect("[TOKEN]")
payload = {...}
data = Alanube.send_document(encf_type=31, payload)
Now you can easily and efficiently use the Alanube API with this Python library!
do
: Fully implemented for the Dominican Republic (DGII).pa
,cr
,pe
,bo
: Planned support. Follow the structure of thedo
module.
For the missing countries, you can use the do
directory as a reference to build the required implementations, adapting the logic to meet the specific local requirements of each country.
- 🇩🇴 Dominican Republic
- 🇵🇦 Panama
- 🇨🇷 Costa Rica
- 🇵🇪 Peru
- 🇧🇴 Bolivia
If you're contributing to the development of this library, here are the steps to set up your environment and run the tests:
-
Clone the repository:
git clone https://github.com/wilmerm/alanube-python-api.git cd alanube-python-api
-
Create a virtual environment (optional but recommended):
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install the required dependencies:
pip install -r requirements.txt pip install -r requirements-dev.txt
-
Install the library in editable mode:
pip install -e .
-
Code Style. We follow PEP 8 for coding standards. Please ensure your code is formatted accordingly before submitting a pull request.
flake8 alanube
-
Navigate to the project root directory.
-
Execute the tests with unittest:
python -m unittest discover -s alanube/tests -p "*.py"
- -s: Specifies the directory to look for tests (tests folder).
- -p: Defines the pattern for test file names (e.g., *.py).
To compile and upload the library to PyPI, follow these steps:
-
Ensure you have the necessary dependencies:
pip install build twine
-
Build the package:
python -m build
-
(Optional) Verify the package:
twine check dist/*
-
Upload the package to PyPI:
python -m twine upload dist/*
![]() Wilmer Martinez Author & Maintainer |
If you contributed to this project and would like to be listed here, feel free to open a pull request adding yourself to the credits section.
This project is licensed under the MIT License.
✅ This project is in production and actively maintained.
We welcome pull requests and suggestions. Please open an issue or submit a PR.
If you find this useful, consider supporting:
Your generosity helps us to continue improving and maintaining this project. We appreciate every contribution, however small. Thanks for being part of our community!