Skip to main content

A modern Python library for transparent object proxying

Project description

Invisibles

PyPI version Python Support License: MIT

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.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

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

Acknowledgments

Project details


Download files

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

Source Distribution

invisibles-0.1.0.tar.gz (2.9 kB view details)

Uploaded Source

Built Distribution

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

invisibles-0.1.0-py3-none-any.whl (3.4 kB view details)

Uploaded Python 3

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

Hashes for invisibles-0.1.0.tar.gz
Algorithm Hash digest
SHA256 74e5a4afed07d4f31afcd44477cbf6bcdc9bbb6bee4ddb3a77c688f0e540ce75
MD5 e7765460a981138b7ca8ef90d70aa156
BLAKE2b-256 8998dc33061ce254e25edede73b261294cdc82e2e9e5d7c63c53c50467b5bfdf

See more details on using hashes here.

Provenance

The following attestation bundles were made for invisibles-0.1.0.tar.gz:

Publisher: publish.yml on loomi-lab/invisibles

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

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

Hashes for invisibles-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b7501ac9206aee382a8f8e76cf89ba3167370670031eba5b72622785ca10ee4c
MD5 bec45336804c3a7a5d13a94ea8aeaf7f
BLAKE2b-256 f15459b575a50338cd199c94171d43c58c5710762476f2d0c5e7c16a9ba88c8a

See more details on using hashes here.

Provenance

The following attestation bundles were made for invisibles-0.1.0-py3-none-any.whl:

Publisher: publish.yml on loomi-lab/invisibles

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