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.3.3.tar.gz (22.7 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.3.3-py3-none-any.whl (22.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: accsyn_python_api-3.3.3.tar.gz
  • Upload date:
  • Size: 22.7 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.3.3.tar.gz
Algorithm Hash digest
SHA256 130bf17e7f3c73e0004676d564a1bb49d983667ab4faff0629dd25ce780ae72a
MD5 080bf35fc455f0829366fee968a04de2
BLAKE2b-256 9b9b38f406e57d2e40916bd0f1221a64fe6974ae4f5a86d52aa79c10e92e82e5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: accsyn_python_api-3.3.3-py3-none-any.whl
  • Upload date:
  • Size: 22.0 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.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f86422b9632c20b2a4aae204c92e3cd777d7e83d71d11891f6c375fa9448cabb
MD5 c2a5228681152a7a734f307513ce9f0f
BLAKE2b-256 75486b9eeb7db892fdacfa14c572202067a15da6d7308dda80c7037171263087

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