Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Athena: Sanity Checking Framework

PythonVersion PyPi License Documentation Status

Athena is a versatile sanity checking framework designed to simplify the process of creating and running validation procedures, known as Sanity-Check. These checks can be executed in any software environments with Python interpreters, especially in DCC (Digital Content Creation) software, or in standalone across all operating systems.

Documentation

Full documentation, including API reference and guides, is available on Read the Docs.

Getting Started

To quickly get started with Athena, follow these steps:

Prerequisites

Ensure you have Python 3.8+ installed. Athena has no external dependencies.

Installing

You can install Athena using pip:

pip install athena-sanity

Or download the latest release here.

Usage Example

You can load a Blueprint and run all it's processes, or query one single process to run: When part of a Blueprint, a Process can have extra configuration to modify it's behavior or interaction with other processes within the blueprint.

from athena import atCore

register = atCore.AtSession().register
register.load_blueprint_from_python_import_path('athena.examples.blueprint.exampleBlueprint')
blueprint = register.blueprint_by_name('exampleBlueprint')
# processor = blueprint.processor_by_name('exampleProcess')  # To get a single `Processor` from the `Blueprint`.

for processor in blueprint.processors:
    result = processor.check()
    
    for container in result:
        print(container, container.status)
        for feedback in container:
            print('\t' + str(feedback))

Alternatively, you can skip the blueprint and just run a process with a default configuration or use your own by passing extra arguments to the Processor:

from athena import atCore

# The `Processor` takes full import path to the `Process` class. The same way you'd define it in the `Blueprint`.
processor = atCore.Processor('athena.examples.process.exampleProcess.AthenaExampleProcess')

result = processor.check()
for container in result:
    print(container, container.status)
    for feedback in container:
        print('\t' + str(feedback))

You can find examples on how to write a Process or Blueprint here

Running the Tests

Full support for unit test will come later.

Versioning

Athena follows the principles of Semantic Versioning (SemVer). Check the tags on this repository for available versions.

Authors

  • Gregory Pijat - Author - GitHub

See the list of contributors who participated in this project.

License

This project is licensed under the GPL-3.0 License - see the LICENSE file for details.

More

For an enhanced experience, check out the available UI on Gumroad. (Available soon)

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

athena_sanity-0.2.0rc1.tar.gz (59.9 kB view details)

Uploaded Source

Built Distribution

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

athena_sanity-0.2.0rc1-py3-none-any.whl (64.8 kB view details)

Uploaded Python 3

File details

Details for the file athena_sanity-0.2.0rc1.tar.gz.

File metadata

  • Download URL: athena_sanity-0.2.0rc1.tar.gz
  • Upload date:
  • Size: 59.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for athena_sanity-0.2.0rc1.tar.gz
Algorithm Hash digest
SHA256 3f86c23792fda7e0e8f254b12febb38518364ac641647c52918f82440663778e
MD5 0181ea39b3298b60e0990d129e014469
BLAKE2b-256 d8b6f361e2f0b69ba20d58cbc5e5ea85810d503fe1cda6e83fef5a4f014954f1

See more details on using hashes here.

Provenance

The following attestation bundles were made for athena_sanity-0.2.0rc1.tar.gz:

Publisher: publish.yml on gpijat/athena

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file athena_sanity-0.2.0rc1-py3-none-any.whl.

File metadata

File hashes

Hashes for athena_sanity-0.2.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 b2a2a22985a7217178d72f93b97a40417bb67977a8495c4703469ea8c0526606
MD5 b1744af94340406b40d3f263c2ba3403
BLAKE2b-256 38ef0670a09ad93ec627708ca68c4cd40cabfd804b1a09d39b4df0a1e009fa32

See more details on using hashes here.

Provenance

The following attestation bundles were made for athena_sanity-0.2.0rc1-py3-none-any.whl:

Publisher: publish.yml on gpijat/athena

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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