exposepy
Minimalist decorator for exposing public APIs in Python.
💡 What is this?
exposepy lets you declaratively define your public API using @expose and reexpose().
No more manual __all__, no more forgotten exports. Refactor-proof and clean.
🚀 Installation
pip install exposepy
🛠️ Basic Usage
from exposepy import expose
@expose
def foo():
return 42
@expose(name="bar_alias")
def bar():
return "bar"
Your module’s __all__ and dir() now only show foo and bar_alias.
🔁 Cross-module Re-Export
from module_a import foo
from exposepy import reexpose
reexpose(foo) # Now foo is part of module_b.__all__
🧠 Why Use exposepy?
- Refactor-proof exports
- Auto-maintained
__all__ - Cleaner introspection via patched
__dir__ - Declarative, not imperative
- Cross-module reexports with aliasing
📚 Documentation
→ https://El3ssar.github.io/exposepy
🤝 Contributing
Contributions welcome!
Please see CONTRIBUTING.md for guidelines and how to get started.
Metadata
Release files for exposepy 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| exposepy-0.1.1.tar.gz | 5.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| exposepy-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 9.2 kB
Release files / exposepy-0.1.1.tar.gz
| Download URL | exposepy-0.1.1.tar.gz |
|---|---|
| Size | 5.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a9f58a9988d87ab5f31fc7bb6407e8af5dd97fef49ba7c688eb5f749453f09a6
|
|
BLAKE2b-256 checksum How to use checksums |
1bfe4721864e07376ac91c1548301a4a6db75057825af42f5957470fb9b93fd8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.3
|
Release files / exposepy-0.1.1-py3-none-any.whl
| Download URL | exposepy-0.1.1-py3-none-any.whl |
|---|---|
| Size | 3.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
db33452e61e5ed77a14396e2ba1d668ce63a9bdd5254265177572136bd6115cd
|
|
BLAKE2b-256 checksum How to use checksums |
226382dc9087f3b9ebfba77345f82e973ff8cc24301581c94c30901b76a6b597
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.3
|