Skip to main content



GNUTOOLS

Modules • Code structure • Installing the application • Makefile commands • Environments • Running the application Ressources

Gnutools is a Python package that provides a few perks:

  • Up to 3x speedup processing the disk by using system commands instead of python libs.
  • A simple interface with optimized command executed from the system.
  • A list of functions to ease the file processing in python.

You can reuse your favorite Python packages such as NumPy, SciPy and Cython to extend ZakuroCache integration.

Modules

At a granular level, Gnutools is a library that consists of the following components:

Component Description
gnutools Contains the implementation of Gnutools
gnutools.audio Audio processsing
gnutools.fs File system processing
gnutools.concurrent Concurrent processing
gnutools.grid Grid search
gnutools.remote Download files from gdrive
gnutools.tests Unit tests
gnutools.utils Utilitaries

Code structure

from setuptools import setup
from gnutools import __version__

setup(
    name="gnutools-python",
    version=__version__,
    packages=[
        "gnutools",
        "gnutools.audio",
        "gnutools.concurrent",
        "gnutools.fs",
        "gnutools.grid",
        "gnutools.remote",
        "gnutools.tests",
        "gnutools.utils",
    ],
    long_description="".join(open("README.md", "r").readlines()),
    long_description_content_type="text/markdown",
    include_package_data=True,
    url="https://github.com/JeanMaximilienCadic/gnutools-python",
    license="MIT",
    author="Jean Maximilien Cadic",
    python_requires=">=3.6",
    install_requires=[r.rsplit()[0] for r in open("requirements.txt")],
    author_email="git@cadic.jp",
    description="GNU Tools for python",
    classifiers=[
        "Programming Language :: Python :: 3.6",
        "License :: OSI Approved :: MIT License",
    ],
)

Installing the application

To clone and run this application, you'll need the following installed on your computer:

Install the package:

# Clone this repository and install the code
git clone https://github.com/JeanMaximilienCadic/gnutools-python

# Go into the repository
cd gnutools-python

Makefile commands

Exhaustive list of make commands:

install_wheels
sandbox_cpu
sandbox_gpu
build_sandbox
push_environment
push_container_sandbox
push_container_vanilla
pull_container_vanilla
pull_container_sandbox
build_vanilla
build_wheels
auto_branch 

Environments

Docker

Note

Running this application by using Docker is recommended.

To build and run the docker image

make build
make sandbox

PythonEnv

Warning

Running this application by using PythonEnv is possible but not recommended.

make install_wheels

Running the application

  • Pathlib 10.1s to scan 856631 files
from pathlib import Path
results = [f for f in Path("/mnt/hdd/backup/ASR").glob("**/*.wav")]
  • gnutools 3.7s to scan 856631 files
from gnutools.fs import listfiles
results = listfiles("/mnt/hdd/backup/ASR", [".wav"])

Ressources

Metadata

Release files for gnutools-python 2.3.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for gnutools-python 2.3.5
File Interpreter ABI Platform
gnutools_python-2.3.5-py3-none-any.whl Python 3 none any Details

Release files / gnutools_python-2.3.5-py3-none-any.whl

Download URL gnutools_python-2.3.5-py3-none-any.whl
Size 12.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ede5203473c935fa9803bc6958bdd329d9095b58745a596c018a99a5c5ca00d6
BLAKE2b-256 checksum
How to use checksums
29d84e275ad718235eec3bba9d12cb2764d879ff21d303c5d8ba4482fe26b2bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.64.1 urllib3/1.26.5 CPython/3.10.6

Release history Release notifications | RSS feed

This release

2.3.5 This release

1 release file

2.3.3a1

1 release file

2.3.3a0

1 release file

2.3.2

1 release file

2.3.1

1 release file

2.3.0

1 release file

2.2.8

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page