Core package for informatics projects at the Allen Institute for Brain Science
Project description
AIBS Informatics Core
Overview
The AIBS Informatics Core library provides a collection of core functionalities and utilities for various projects at the Allen Institute for Brain Science. This library includes modules for handling environment configurations, data models, executors, and various utility functions.
Modules
Utils
The utils module provides various utility functions and classes to facilitate common tasks such as logging, hashing, and working with dictionaries and strings.
- file_operations: Functions for working with files and directories.
- decorators: Decorators for adding functionality to functions and methods.
- hashing: Functions for generating hashes.
- json: Functions for working with JSON data.
- logging: Utilities for setting up and managing logging.
- modules: Functions dealing with modules and imports.
- multiprocessing: Functions for working with multiprocessing.
- os_operations: Functions for working with the operating system.
- time: Functions for working with time.
- units: Functions for converting units.
- version: Functions and classes for handling version numbers.
- tools.dicttools: Functions for manipulating dictionaries.
- tools.strtools: Functions for manipulating strings.
Models
The models module defines protocols and base models used for serialization and deserialization of data. This module provides base classes for creating data models and utilities for working with data models.
There are a few base classes that can be used to create data models:
- ModelBase: A base class for creating data models.
- DataClassModel: A base class for creating data models using dataclasses.
- SchemaModel: A base class for creating data models using marshmallow schemas + dataclass.
- WithValidation: A mixin class for adding validation to data models.
Executors
The executors module provides base classes and utilities for creating and running executors. Executors are responsible for handling specific tasks or requests. They allow for validating inputs/outputs based on schema data models
- BaseExecutor: A base class for creating executors.
- run_cli_executor: A utility function for running executors from the command line.
Env
The env module provides a concept of EnvBase which allows for creating isolated namespaces based on the type and name of environment:
env_base = EnvBase('dev-projectX')
env_base.prefixed('my_resource', 'blue') # 'dev-projectX-my_resource-blue'
Collections
The collections module provides various collection classes and utilities for working with collections of data.
- Classes
- DeepChainMap: A class for creating recursive capable deep chain maps.
- Tree: A subclass of dict for creating tree structures from sequences.
- ValidatedStr: A class for creating validated strings based on regex patterns.
- Mixins
- PostInitMixin: A mixin class for handling post-initialization tasks.
- EnvBaseMixins: A mixin class for handling environment-related tasks.
- Enums
- BaseEnum: A base class for creating enums.
- OrderedEnum: A base class for creating ordered enums.
- StrEnum: A base class for creating string enums.
- OrderedStrEnum: A base class for creating ordered string enums.
Contributing
Any and all PRs are welcome. Please see CONTRIBUTING.md for more information.
Licensing
This software is licensed under the Allen Institute Software License, which is the 2-clause BSD license plus a third clause that prohibits redistribution and use for commercial purposes without further permission. For more information, please visit Allen Institute Terms of Use.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aibs_informatics_core-0.0.6.tar.gz.
File metadata
- Download URL: aibs_informatics_core-0.0.6.tar.gz
- Upload date:
- Size: 69.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2549fc7920b3a94145ffd523f742b896081317da39bf7e2e7277592a6af7c5a3
|
|
| MD5 |
3e2da7dbce0450a41202933edd0e42c5
|
|
| BLAKE2b-256 |
4b9c59ad5af6e7bbbc62b0ebadc5fd7f5b13bb6c9d6407af73cc70620f122747
|
Provenance
The following attestation bundles were made for aibs_informatics_core-0.0.6.tar.gz:
Publisher:
release.yml on AllenInstitute/aibs-informatics-core
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aibs_informatics_core-0.0.6.tar.gz -
Subject digest:
2549fc7920b3a94145ffd523f742b896081317da39bf7e2e7277592a6af7c5a3 - Sigstore transparency entry: 153402936
- Sigstore integration time:
-
Permalink:
AllenInstitute/aibs-informatics-core@af4f44072ba7ce45f36aecc6d08a6e224845ce78 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/AllenInstitute
-
Access:
internal
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@af4f44072ba7ce45f36aecc6d08a6e224845ce78 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file aibs_informatics_core-0.0.6-py3-none-any.whl.
File metadata
- Download URL: aibs_informatics_core-0.0.6-py3-none-any.whl
- Upload date:
- Size: 88.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f60c7e7a7d5743058b5d2b099def563c91982cb75bddd9d7c556481c8a45d6d4
|
|
| MD5 |
955096b447ef6ac73e4ab5f89c724404
|
|
| BLAKE2b-256 |
3ce8339800e3b7ca73283b3d808984e2e3a180e3d85129ae63eea869ba1547e0
|
Provenance
The following attestation bundles were made for aibs_informatics_core-0.0.6-py3-none-any.whl:
Publisher:
release.yml on AllenInstitute/aibs-informatics-core
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aibs_informatics_core-0.0.6-py3-none-any.whl -
Subject digest:
f60c7e7a7d5743058b5d2b099def563c91982cb75bddd9d7c556481c8a45d6d4 - Sigstore transparency entry: 153402945
- Sigstore integration time:
-
Permalink:
AllenInstitute/aibs-informatics-core@af4f44072ba7ce45f36aecc6d08a6e224845ce78 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/AllenInstitute
-
Access:
internal
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@af4f44072ba7ce45f36aecc6d08a6e224845ce78 -
Trigger Event:
workflow_dispatch
-
Statement type: