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.
Features¶
- Collections - Specialized collection classes including
DeepChainMap,Tree,ValidatedStr, and various enum base classes - Environment -
EnvBasefor creating isolated namespaces based on environment type and name - Models - Base classes for data serialization/deserialization using Pydantic
- Executors - Base classes for creating and running task executors with input/output validation
- Utils - Comprehensive utility functions for file operations, logging, hashing, JSON handling, and more
Quick Start¶
Installation¶
pip install aibs-informatics-core
Basic Usage¶
from aibs_informatics_core.env import EnvBase
# Create an environment namespace
env_base = EnvBase('dev-projectX')
env_base.prefixed('my_resource', 'blue') # 'dev-projectX-my_resource-blue'
Modules¶
| Module | Description |
|---|---|
| Collections | Collection classes and utilities (DeepChainMap, Tree, ValidatedStr, enums) |
| Env | Environment configuration and namespace management |
| Executors | Base executor classes and CLI utilities |
| Models | Data model base classes and serialization protocols |
| Utils | Utility functions for file operations, logging, hashing, and more |
Contributing¶
Any and all PRs are welcome. Please see CONTRIBUTING.md for more information.
License¶
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.