siblink - a Python sibling package linker
Installation
pip install siblink
OR
git clone git@github.com:TreltaSev/siblink.git
cd ./siblink
pip install .
Usage
**siblink** has some commands that you should familiarize yourself with, since siblink is built over with the click package, after installation, you can run
siblink --help
Usage
A package in pythons eyes is just a folder containing a __init__.py file, it makes variables easily discoverable between "packages". The way python knows what files it should make discoverable to you is through its built-in sys.path variable. **siblink** just adds a few more directories, the one behind your current directory, as well as every directory between the .py file and your working directory, which in turn, adds your current directories' siblings together.
Say you had two directories within the same directory.
parent
├───package_a
│ __init__.py
│
└───package_b
main.py
the __init__.py file contains some_variable, you want to get that variable from main.py, if you attempt to run main.py normally, this would be your result.
python ./parent/package_b/main.py
Traceback (most recent call last):
File ".\parent\package_b\main.py", line 1, in <module>
import package_a
ModuleNotFoundError: No module named 'package_a'
You could always mutate the sys.path variable yourself but I've found that its annoying to do that if you have hundreds of files.
**siblink** automatically does this for you, now if you were to run main.py with **siblink**, this is your result.
siblink run ./parent/package_b/main.py
10
Metadata
Release files for siblink 1.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| siblink-1.2.2.tar.gz | 10.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| siblink-1.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.6 kB
Release files / siblink-1.2.2.tar.gz
| Download URL | siblink-1.2.2.tar.gz |
|---|---|
| Size | 10.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bc4e4c11908564f7991a8e872c289cfdc647bb8fd775eac1529d9188bbf54ecc
|
|
BLAKE2b-256 checksum How to use checksums |
7e42d279c40a9ba7cc9ad9108e57997515e5b696214a711eb2fb1f94062ea97c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
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 Aug 7, 2025.
Transparency logRelease files / siblink-1.2.2-py3-none-any.whl
| Download URL | siblink-1.2.2-py3-none-any.whl |
|---|---|
| Size | 11.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e8ca374ba00b6cc72cd4e5d5b824a45da80f00ee9ea194d310b842217bae9694
|
|
BLAKE2b-256 checksum How to use checksums |
09e1f2eeff4ee56ed65fb42f0766c32c6da182c43914f1b816899c1912e70642
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
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 Aug 7, 2025.
Transparency log