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.2.tar.gz (22.5 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.2-py3-none-any.whl (21.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: accsyn_python_api-3.3.2.tar.gz
  • Upload date:
  • Size: 22.5 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.2.tar.gz
Algorithm Hash digest
SHA256 f0b9cac53ae89d561a7a19cdf20b765c9e02ea18c43871bb2ec18b7c11a69b9e
MD5 9e47d4925781c4141e5e4132b91aee41
BLAKE2b-256 80801144387f09dc5ffbb63056ba7425448daff645d7647ab934298951a213e9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: accsyn_python_api-3.3.2-py3-none-any.whl
  • Upload date:
  • Size: 21.9 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 30bd8cbf44e1f12f9349c78b6b10013ef7d41369073fab0f4558e6c0f7aedab4
MD5 cf5fd78c750f1186ae09b075eebf145a
BLAKE2b-256 0c08b0336d1ea9c84f08266af33728d16b5298ef12418ccb9c650b9734e8beb6

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