A modern Python library for transparent object proxying
Project description
Invisibles
A modern Python library for transparent remote object proxying. Invisibles provides a powerful and intuitive way to create transparent proxies that forward all operations to wrapped objects while remaining completely invisible in most contexts.
Features
- Transparent proxying: The proxy forwards all attribute access, method calls, and operations to the wrapped object
- Complete operation support: Supports all Python dunder methods for seamless integration
- Type preservation: Maintains the apparent type and behavior of the wrapped object
- Zero overhead: Minimal performance impact with efficient forwarding
- Modern Python: Built for Python 3.12+ with full type hint support
Installation
pip install invisibles
Development
Setting up for development
# Clone the repository
git clone https://github.com/yourusername/invisibles.git
cd invisibles
# Install Poetry
curl -sSL https://install.python-poetry.org | python3 -
# Install dependencies
poetry install
# Install pre-commit hooks
poetry run pre-commit install
Running tests
# Run all tests
poetry run pytest
# Run with coverage
poetry run pytest --cov=invisibles --cov-report=term-missing
Code quality
# Format code
poetry run black src tests
# Sort imports
poetry run isort src tests
# Lint code
poetry run flake8 src tests
# Type checking
poetry run mypy src
Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
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 invisibles-0.1.0.tar.gz.
File metadata
- Download URL: invisibles-0.1.0.tar.gz
- Upload date:
- Size: 2.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
74e5a4afed07d4f31afcd44477cbf6bcdc9bbb6bee4ddb3a77c688f0e540ce75
|
|
| MD5 |
e7765460a981138b7ca8ef90d70aa156
|
|
| BLAKE2b-256 |
8998dc33061ce254e25edede73b261294cdc82e2e9e5d7c63c53c50467b5bfdf
|
Provenance
The following attestation bundles were made for invisibles-0.1.0.tar.gz:
Publisher:
publish.yml on loomi-lab/invisibles
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
invisibles-0.1.0.tar.gz -
Subject digest:
74e5a4afed07d4f31afcd44477cbf6bcdc9bbb6bee4ddb3a77c688f0e540ce75 - Sigstore transparency entry: 541176658
- Sigstore integration time:
-
Permalink:
loomi-lab/invisibles@5a6f79b75275f3aa6cb27e538fc1b34f90d8faaf -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/loomi-lab
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@5a6f79b75275f3aa6cb27e538fc1b34f90d8faaf -
Trigger Event:
release
-
Statement type:
File details
Details for the file invisibles-0.1.0-py3-none-any.whl.
File metadata
- Download URL: invisibles-0.1.0-py3-none-any.whl
- Upload date:
- Size: 3.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b7501ac9206aee382a8f8e76cf89ba3167370670031eba5b72622785ca10ee4c
|
|
| MD5 |
bec45336804c3a7a5d13a94ea8aeaf7f
|
|
| BLAKE2b-256 |
f15459b575a50338cd199c94171d43c58c5710762476f2d0c5e7c16a9ba88c8a
|
Provenance
The following attestation bundles were made for invisibles-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on loomi-lab/invisibles
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
invisibles-0.1.0-py3-none-any.whl -
Subject digest:
b7501ac9206aee382a8f8e76cf89ba3167370670031eba5b72622785ca10ee4c - Sigstore transparency entry: 541176659
- Sigstore integration time:
-
Permalink:
loomi-lab/invisibles@5a6f79b75275f3aa6cb27e538fc1b34f90d8faaf -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/loomi-lab
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@5a6f79b75275f3aa6cb27e538fc1b34f90d8faaf -
Trigger Event:
release
-
Statement type: