Skip to main content

A Python API for accsyn programmable fast and secure data delivery software

Project description

accsyn-python-api

Official accsyn fast and secure file delivery Python API

Python API support can be found here.

Changelog:

See doc/release_notes.rst

Documentation:

https://accsyn-python-api.readthedocs.io/en/latest

Development Setup:

This project uses Poetry for dependency management. To get started:

# Install Poetry (if not already installed)
curl -sSL https://install.python-poetry.org | python3 -

# Install dependencies
poetry install

# Install with documentation dependencies
poetry install --with docs

# Activate the virtual environment
poetry shell

Building Documentation:

To build the documentation locally:

# Install with docs dependencies
poetry install --with docs

# Build docs
cd doc
poetry run sphinx-build -T -E -b html -d _build/doctrees -D language=en . ../dist/doc

Or use the shorter command:

poetry run sphinx-build -b html doc dist/doc

Development Tools:

# Format code
poetry run black .

Testing:

The test suite requires role-specific credential files to test different user permissions, Tests will be skipped if the required .env files are not present. The tests also requires active accsyn clients running on behalf of the users, to be able to fully test file transfers and compute. This requires all tests to run interactively, to be able to action prompts that may appear during execution.

Prepare test credentials:

Create three .env files in the project root directory, one for each role:

  1. .env.admin - Admin role credentials
  2. .env.employee - Employee role credentials
  3. .env.standard - Standard (restricted end user) role credentials

Each .env file should contain:

ACCSYN_WORKSPACE=your_workspace
ACCSYN_API_USER=user@example.com
ACCSYN_API_KEY=your_api_key

Run tests:

# Run all tests
poetry run pytest -x -s

# Run with coverage report
poetry run pytest -x -s --cov=accsyn_api --cov-report=term-missing

# Run a specific test file
poetry run pytest -x -s tests/test_find_entitytypes.py

# Some tests have dependencies in form of running clients, run interactively:
poetry run pytest -x -s tests/test_find_entitytypes.py

Categories: Use @pytest.mark.base for tests that create entities; use @pytest.mark.extended and @pytest.mark.order(2) (or higher) for tests that depend on those entities. Run pytest -m "base or extended" to run both in order in one session.

Note: Tests that require a specific role will be skipped if the corresponding .env file is missing.

Building and publishing to PyPi:

# Build the package
poetry build

# Publish to PyPI (requires authentication)
poetry publish

# Or publish to test PyPI first
poetry config repositories.testpypi https://test.pypi.org/legacy/
poetry publish -r testpypi

Poetry can use saved credentials (poetry config pypi-token.pypi <token>) or username/password flags such as poetry publish --username <user> --password <pass>.

accsyn(r) - secure high speed file delivery and workflow sync https://accsyn.com https://support.accsyn.com

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

accsyn_python_api-3.2.3.tar.gz (21.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

accsyn_python_api-3.2.3-py3-none-any.whl (20.7 kB view details)

Uploaded Python 3

File details

Details for the file accsyn_python_api-3.2.3.tar.gz.

File metadata

  • Download URL: accsyn_python_api-3.2.3.tar.gz
  • Upload date:
  • Size: 21.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.13.0 Darwin/23.6.0

File hashes

Hashes for accsyn_python_api-3.2.3.tar.gz
Algorithm Hash digest
SHA256 8a46a6fc16dc06c71043e4db980ba22e4f6fa1be85877fd4147e6f8233fb14f5
MD5 34346033f0695719a1717d7de083628f
BLAKE2b-256 96ce8eb8c5543dc20bb74a4a6fe742a5c56e1eeb9fc282966cbbf41347da4a18

See more details on using hashes here.

File details

Details for the file accsyn_python_api-3.2.3-py3-none-any.whl.

File metadata

  • Download URL: accsyn_python_api-3.2.3-py3-none-any.whl
  • Upload date:
  • Size: 20.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.13.0 Darwin/23.6.0

File hashes

Hashes for accsyn_python_api-3.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5c355cd62277015bdf81316da0c224da93576c129d2ab7e2628f862d50cf236a
MD5 171a6844176daaff67b174458f01eab5
BLAKE2b-256 cdc5a97bd7bf29d391f5d269b4b143f6aa568c7718a9dbbdb365999bd36c8545

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page