Skip to main content

GNU Tools for python

Project description



GNUTOOLS

ModulesCode structureInstalling the applicationMakefile commandsEnvironmentsRunning 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

gnutools_python-2.3.1-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

Details for the file gnutools_python-2.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for gnutools_python-2.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f906e13e874863eadc462265e083e97e6e957f5dad2ce788251f718c0c022289
MD5 cdeec04ee95d07b57dbc0b533084c951
BLAKE2b-256 2b9792a800a2cbdd73524bb27e127e7f4eb096ee0f881963eb9ad041fe77776b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page