Skip to main content

Public Project AllOnIAS3

This project contains the :obj:~allonias3.s3_path.S3Path class that allows the user to interact with its S3 repository in a similar fashion as pathlib.Path

Even though it is a public package, it is not intended to be used outside AllOnIA's plateform.

You can find the user documentation at this URL

This is a public project. Everyone is welcome to contribute to it.

Basic usage

See :ref:basicusage

Installation

pip install allonias3[boto,datatypehandler]
  • By default, :obj:~allonias3.s3_path.S3Path will use a Minio client by inheriting from :obj:~allonias3.minio.minio_path.MinioPath. You can choose to use boto instead, by choosing "boto" as an optional dependency and USE_BOTO=True in your environment variables. Then, :obj:~allonias3.s3_path.S3Path will inherit from :obj:~allonias3.boto.boto_path.BotoPath. In both cases the methods will take exactly the same input and return the same output.
  • Writing and reading data to S3 can be enhanced to support many data types, like :obj:~pandas.DataFrame to/from .csv files, by specifying "datatypehandler" as an optional dependency.

Contributing

This is an open-source project. Everyone is welcome to contribute to it. To do so, fork the repository, add your features/fixes on your forked repository, then open a merge request to the original repository.

Install dependencies using poetry

This project uses Poetry to manage its working environment. Install it before coding in the project.

Then, run

poetry env use python3.12
poetry install
poetry run pre-commit install

This package has two sets of optional libraries, that you can install with

poetry install -E boto
# or
poetry install -E datatypehandler
# or
poetry install -E datatypehandler -E boto

Testing

Tests are separated into several groups, that can require different packages.

You can run them all using tox:

poetry run tox

You can also run them individually by running commands that you can find in tox.ini.

Some tests can not be run un parallel, the "-n 0" args is then require. Refer to the tox.ini file to find which tests are concerned.

Coverage

We use pytest-cov to display the coverage, so, after run tests you can check the reports (term, html, xml are enabled), if you want to improve your coverage, the better thing to do is to check the html report in your browser:

open htmlcov/index.html

Lint

To run the linters used by this project, you can run:

poetry run pre-commit run # Run lint only on staged files

# Manually check conventional commits format:
poetry run pre-commit run gitlint --hook-stage commit-msg --commit-msg-filename .git/COMMIT_EDITMSG

User documentation

The documentation source files are located in here. If you add new features, please add them to the documentation as well.

You can buid the documentation locally by doing

cd docs
make html

The produced documentation should then be readable by opening the file in docs/build/html/index.html in a web browser.

Release files for allonias3 1.9.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for allonias3 1.9.1
File Size Uploaded
allonias3-1.9.1.tar.gz 37.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for allonias3 1.9.1
File Interpreter ABI Platform
allonias3-1.9.1-py3-none-any.whl Python 3 none any Details

Total release size: 79.3 kB

Release files / allonias3-1.9.1.tar.gz

Download URL allonias3-1.9.1.tar.gz
Size 37.8 kB
Tags Source
SHA-256 checksum
How to use checksums
08768ffed84bc1588ce0430848746fafbc3e2d4032d7b46d6ec4b2a4766e5e20
BLAKE2b-256 checksum
How to use checksums
efe1b0fa92dcb70fc5fd6346bb47b8facb8bb2a8425090a6af0e723574e7d2eb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.7.1 CPython/3.12.1 Linux/6.2.0-36-generic

Release files / allonias3-1.9.1-py3-none-any.whl

Download URL allonias3-1.9.1-py3-none-any.whl
Size 41.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6e961e4e41a419b17505310e12f6a71f0b385bea7db436858902afb0a211ca91
BLAKE2b-256 checksum
How to use checksums
91bdbdbb13c48ee79ccd7d68b7e24f2b2f25e584cbf6755dfe3c675e82712cf6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.7.1 CPython/3.12.1 Linux/6.2.0-36-generic

Release history Release notifications | RSS feed

This release

1.9.1 This release

2 release files

1.9.0

2 release files

1.8.0

2 release files

1.7.0

2 release files

1.6.0

2 release files

1.5.2

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.2

2 release files

1.4.0

2 release files

1.3.4

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.8

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page