A Python module to interact with the IEMAP REST API
Project description
Iemap-MI Python Module
Iemap-MI is a Python module that provides easy access to the IEMAP REST API. It includes functionality for user
authentication, fetching paginated project data, and more. The module is designed to be used asynchronously and
leverages httpx
for making HTTP requests and pydantic
for data validation.
Features
- JWT Authentication: Authenticate users and manage sessions with JSON Web Tokens.
- Project Data: Fetch paginated project data from the API.
- Asynchronous Requests: Utilize
httpx
for efficient, asynchronous HTTP requests. - Data Validation: Ensure data integrity with
pydantic
models.
Installation
To install the module, use poetry
:
poetry add iemap-mi
Alternatively, you can install it using pip:
pip install iemap-mi
Usage
Here are some examples of how to use the iemap-mi module.
Initialize the Client and Authenticate
import asyncio
from iemap_mi.iemap_mi import IemapMI
async def main():
# Initialize the client
client = IemapMI()
# Authenticate to get the JWT token
await client.authenticate(username='your_username', password='your_password')
# Fetch example data
data = await client.get_example_data()
print(data)
if __name__ == "__main__":
asyncio.run(main())
Fetch Paginated Project Data
import asyncio
from iemap_mi.iemap_mi import IemapMI
async def main():
# Initialize the client
client = IemapMI()
# Authenticate to get the JWT token
await client.authenticate(username='your_username', password='your_password')
# Fetch paginated project data
projects = await client.project_handler.get_projects(page_size=10, page_number=1)
print(projects)
if __name__ == "__main__":
asyncio.run(main())
Running Tests
To run the tests, use pytest. Make sure to set the TEST_USERNAME and TEST_PASSWORD environment variables with your test credentials.
export TEST_USERNAME="your_username"
export TEST_PASSWORD="your_password"
pytest
Using pytest with poetry
poetry run pytest
Contributing
Contributions are welcome! Please follow these steps to contribute:
Fork the repository.
Create a new branch for your feature or bugfix.
Make your changes.
Ensure tests pass.
Submit a pull request.
License
This project is licensed under the MIT License.
See the LICENSE file for more information.
Acknowledgements
httpx
pydantic
Contact
For any questions or inquiries, please contact iemap.support@enea.it.
This`README.md`
includes
an
overview
of
the
project, installation
instructions,
usage
examples, testing
guidelines, contribution
guidelines, license
information,
acknowledgements, and
contact
information.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file iemap_mi-0.1.1.tar.gz
.
File metadata
- Download URL: iemap_mi-0.1.1.tar.gz
- Upload date:
- Size: 899.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.4 Linux/6.9.9-arch1-1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f081ea3cc8b35bf060f783466169709e22178e2e078c84fd14b75fed9940c76a |
|
MD5 | 24558d2a278209cf47c47b633b08457f |
|
BLAKE2b-256 | b6be2562cdbd2deb1f43ed6696592f8d9d4d55caae28980fdf53efe72c4700ca |
File details
Details for the file iemap_mi-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: iemap_mi-0.1.1-py3-none-any.whl
- Upload date:
- Size: 899.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.4 Linux/6.9.9-arch1-1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab8dc03fcead59fd72d8c4ebf44c254348cf606b1d4781243cf5737d74ca59aa |
|
MD5 | a7a7378e041bf25ee2de17a9d5bd7088 |
|
BLAKE2b-256 | dbd53c6dd82e31c3dee027c37069f6f0156bf40668f8aebb70e3e193852ed495 |