pamiq-core
pamiq-core is a minimal machine learning framework for asynchronous execution of inference and training.
🎯 Design Philosophy
- Simplicity — Clean, intuitive APIs that just work
- Lightweight — Minimal dependencies, maximum performance
- Complete Thread Abstraction — Complex threading handled internally, simple interface externally
When you set out to build a dynamic continuous learning system, PAMIQ Core will be your steadfast foundation.
✨ Features
- 🔄 Parallel Architecture: Simultaneous inference and training in separate threads
- ⚡ Real-time Adaptation: Continuously update models during interaction
- 🧵 Thread-safe Design: Robust synchronization mechanisms for parameter sharing and data transfers
- 🔌 Modular Components: Easy-to-extend agent, environment, and model interfaces
- 🛠️ Comprehensive Tools: Built-in state persistence, time control, and monitoring
- 🏋️ Gymnasium Integration: Seamless compatibility with Gymnasium environments
- 🌍 Cross Platform: Linux is the primary focus, but Windows and macOS are also supported. (However, some older macOS and Windows systems may have significantly less accurate time control.)
📋 Requirements
- Python 3.12+
- PyTorch (optional, for torch integration)
🚀 Quick Start
Installation
# Install with pip
pip install pamiq-core
# Optional PyTorch integration
pip install pamiq-core[torch]
# Optional Gymnasium integration
pip install pamiq-core[gym]
Basic Example
from pamiq_core import launch, Interaction, LaunchConfig
from your_agent import YourAgent
from your_environment import YourEnvironment
# Create agent-environment interaction
interaction = Interaction(YourAgent(), YourEnvironment())
# Launch the system
launch(
interaction=interaction,
models=your_models,
buffers=your_data_buffers,
trainers=your_trainers,
config=LaunchConfig(
web_api_address=("localhost", 8391),
max_uptime=300.0, # 5 minutes
),
)
See the samples directory for complete examples.
Remote CLI Control
Once the system is running, you can connect and control it remotely via the terminal using pamiq-console:
# Connect to local system
pamiq-console --host localhost --port 8391
# Connect to remote system
pamiq-console --host 192.168.1.100 --port 8391
🧩 Architecture
pamiq-core implements a unique architecture that enables autonomous intelligence:
- Concurrent Threads: Separate threads for control, inference, and training
- Parameter Sharing: Thread-safe model parameter synchronization
- Experience Collection: Automatic buffering of data from environments, such as images and audio.
- Continuous Learning: Training models while simultaneously using them for decision making
- State Persistence: Saving and loading system state for resumable operation
🤝 Contributing
Contributions are welcome! Please see CONTRIBUTING.md for guidelines on how to contribute to pamiq-core.
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🔗 Related Projects
- pamiq-recorder: Recording library for P-AMI<Q>
- pamiq-io: I/O library for P-AMI<Q>
Metadata
Release files for pamiq-core 0.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pamiq_core-0.6.0.tar.gz | 684.4 kB | With provenance | Details for pamiq_core-0.6.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pamiq_core-0.6.0-py3-none-any.whl | Python 3 | none | any | Details for pamiq_core-0.6.0-py3-none-any.whl |
Total release size: 756.5 kB
Release files / pamiq_core-0.6.0.tar.gz
| Download URL | pamiq_core-0.6.0.tar.gz |
|---|---|
| Size | 684.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6504ac930fc6ec743586dff015576b5dbe515d32ec0c65467d2f76f255632da4
|
|
BLAKE2b-256 checksum How to use checksums |
a6d7076a63ac8c7257018be340f41e938501475dd6df20514ac9e6e5c296fe33
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2025.
Transparency logRelease files / pamiq_core-0.6.0-py3-none-any.whl
| Download URL | pamiq_core-0.6.0-py3-none-any.whl |
|---|---|
| Size | 72.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ff69b4c53e6a643677b9c6fa7ebc481aed787bd0e08d0d92dd397016027b57a1
|
|
BLAKE2b-256 checksum How to use checksums |
29d0aeb717c10bf5a92522de16a8e947da2089dffb96622fc0a0b5d710c85277
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2025.
Transparency logSecurity for pamiq-core 0.6.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for pamiq_core-0.6.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2025.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.