This release is a pre-release and may not be stable for production use.
This is to be a project on modifying sys.metapath and making Python import statement as smooth as possible.
Inspiration
This idea was originally inspired from the Bro/Zeek language, where it uses @load statement what import doses in Python, except that the @load statement takes a relative path as its specifier. For example:
@load ./sample_local.bro
@load ../sample_parent.bro
@load ../sample/child.bro
with the project structure as following:
root
|-- foo
| |-- this_script.bro
| |-- sample_local.bro
| |-- sample
| |-- child.bro
|-- sample_parent.bro
which means, the @load statement is always relative to where it comes from, rather than a working directory or package root as in Python.
Thus, we intend to make the Python import statement works just like @load. This is the back story of the impfxxk project.
Expectation
When your project is as such:
root
|-- foo
| |-- this_script.py
| |-- sample_local.py
| |-- sample
| |-- child.py
|-- sample_parent.py
Normally, you will want to do:
import .sample_local
import .sample.child
import ..sample_parent
there can be some issues when the Python interpreter tries to figure out what is what when you are not running it at /root/foo/, where the relative paths are ought to be.
However, with impfxxk, you can simply add a statement (it’s not decided yet) before your original import statements, just like __future__ does; and your code will work just as you wish.
Metadata
Release files for impfxxk 0.0.0.dev0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| impfxxk-0.0.0.dev0.tar.gz | 3.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| impfxxk-0.0.0.dev0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 6.6 kB
Release files / impfxxk-0.0.0.dev0.tar.gz
| Download URL | impfxxk-0.0.0.dev0.tar.gz |
|---|---|
| Size | 3.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e38c5e0e350b61a5959fbe1005bc1b03f4adc539586fbf02a63f483dbbdd132e
|
|
BLAKE2b-256 checksum How to use checksums |
4c4392b4580a12c5a3f497878665e475c81626450308140ac8f9bb73e0340b89
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.3
|
Release files / impfxxk-0.0.0.dev0-py3-none-any.whl
| Download URL | impfxxk-0.0.0.dev0-py3-none-any.whl |
|---|---|
| Size | 3.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
009af476401b12bc85e90871c061857348076f7bcda01f82a58dcbd7678c051a
|
|
BLAKE2b-256 checksum How to use checksums |
f0db494563e6420db90e76ee7a110ca3554383e87f964ffe0c5509d1abcd7734
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.3
|