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

Uploaded Python 3

File details

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

File metadata

  • Download URL: accsyn_python_api-3.3.1.tar.gz
  • Upload date:
  • Size: 22.0 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.1.tar.gz
Algorithm Hash digest
SHA256 27799fe2ec12005bc24f4cd8284c5cde24c7959deda528c4a7a974ce93128cfd
MD5 757ae8dd4f103d1a2823eeec4d2d63ad
BLAKE2b-256 f8d7575dbf779c3e198dff9002c348b36f763c838e8b8df84577a462787e0a28

See more details on using hashes here.

File details

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

File metadata

  • Download URL: accsyn_python_api-3.3.1-py3-none-any.whl
  • Upload date:
  • Size: 21.4 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 dbaec990fcc254072f2252f6d3f56065064cbc55f44fa11d057f69e018e614e6
MD5 e0be859a08b1bd5427ba632f32deb91c
BLAKE2b-256 2ddd16722eb59dcb20c70319dbde77765fa5fae979b4f79edd0031d27c7d3c78

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