fpath 
Python's os.path module written in Rust
Requirements
- Python3
- setuptools-rust
- Nightly Rust
$ pip install setuptools_rust
$ rustup default nightly
Installation
$ pip install --upgrade git+https://github.com/hhatto/fpath
Usage
>>> import os.path
>>> import fpath
>>> os.path.abspath("path/to/file")
'/home/user/path/to/file'
>>> fpath.abspath("path/to/file")
'/home/user/path/to/file'
>>> import timeit
>>> timeit.timeit('import os.path;os.path.abspath("path/to/file")', number=1000*10)
0.20972810598323122
>>> timeit.timeit('import fpath;fpath.abspath("path/to/file")', number=1000*10)
0.12387347500771284
>>>
Benchmark
methodname % real[p,r] user[p,r] sys[p,r] n
abspath 45.53% 10.15s, 5.53s 6.86s, 2.81s 3.25s, 2.69s 100000
basename 53.52% 0.71s, 0.33s 0.70s, 0.33s 0.00s, 0.00s 100000
dirname 57.43% 1.02s, 0.43s 1.01s, 0.43s 0.00s, 0.00s 100000
isabs 56.55% 0.59s, 0.25s 0.59s, 0.25s 0.00s, 0.00s 100000
islink 0.25% 3.78s, 3.77s 0.01s, 0.01s 0.01s, 0.00s 50
exists 0.25% 3.78s, 3.77s 0.01s, 0.01s 0.01s, 0.00s 50
lexists 0.70% 3.77s, 3.74s 0.01s, 0.01s 0.01s, 0.00s 50
split 53.85% 1.17s, 0.54s 1.17s, 0.54s 0.00s, 0.00s 100000
splitext 62.02% 1.22s, 0.46s 1.21s, 0.46s 0.00s, 0.00s 100000
relpath 52.97% 0.02s, 0.01s 0.01s, 0.01s 0.01s, 0.00s 50
normpath 57.27% 2.02s, 0.86s 2.01s, 0.86s 0.00s, 0.00s 100000
realpath 1.08% 13.39s, 13.25s 0.05s, 0.02s 0.02s, 0.03s 50
join 23.01% 0.24s, 0.19s 0.24s, 0.18s 0.00s, 0.00s 100000
expanduser 67.45% 1.50s, 0.49s 1.49s, 0.48s 0.00s, 0.00s 100000
expandvars 61.37% 1.21s, 0.47s 1.19s, 0.47s 0.00s, 0.00s 100000
Release files for fpath 0.1.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 | |
|---|---|---|---|
| fpath-0.1.2.tar.gz | 2.7 kB | Details |
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fpath-0.1.2-cp37-cp37m-macosx_10_11_x86_64.whl | CPython 3.7 | CPython 3.7 pymalloc | macOS 10.11+ x86-64 | Details |
| fpath-0.1.2-cp27-cp27m-macosx_10_11_x86_64.whl | CPython 2.7 | CPython 2.7 pymalloc | macOS 10.11+ x86-64 | Details |
Total release size: 992.3 kB
Release files / fpath-0.1.2.tar.gz
| Download URL | fpath-0.1.2.tar.gz |
|---|---|
| Size | 2.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2456e2c9ca3abe284158231dd387105216d7aac2883d696b87ad81739c9d8cf1
|
|
BLAKE2b-256 checksum How to use checksums |
9ff39d14d39ace69ca78e2923e7e03404b4e292298d2f574c3bddab12d888180
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.0
|
Release files / fpath-0.1.2-cp37-cp37m-macosx_10_11_x86_64.whl
| Download URL | fpath-0.1.2-cp37-cp37m-macosx_10_11_x86_64.whl |
|---|---|
| Size | 492.3 kB |
| Tags | CPython 3.7 CPython 3.7 pymalloc macOS 10.11+ x86-64 |
|
SHA-256 checksum How to use checksums |
135ad59a7250587cebe2371b59a900c349f12b2a40a9cdd843f729d24cee8bcb
|
|
BLAKE2b-256 checksum How to use checksums |
7bda95a1aed12ae2e830a847bc283bf0dfb4b852e2afaba769b22f1e6d186a3f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.0
|
Release files / fpath-0.1.2-cp27-cp27m-macosx_10_11_x86_64.whl
| Download URL | fpath-0.1.2-cp27-cp27m-macosx_10_11_x86_64.whl |
|---|---|
| Size | 497.4 kB |
| Tags | CPython 2.7 CPython 2.7 pymalloc macOS 10.11+ x86-64 |
|
SHA-256 checksum How to use checksums |
30acf4d04018afb816e45b590019e84417d6f60c06ca274071d687ffca795712
|
|
BLAKE2b-256 checksum How to use checksums |
1fae845e798b5f026f1ff5908160f5ee46163c7ec2a4dd480e738b79076334b7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.0
|