Skip to main content

Implementation of CSSFinder backend using NumPy library.

Project description

CSSFinder NumPy Backend

Implementation of CSSFinder backend using NumPy library.

Installing

To install CSSFinder NumPy Backend from PyPI, use pip in terminal:

pip install cssfinder_backend_numpy

If you want to use development version, traverse Development and Packaging sections below.

Development

This project uses Python programming language and requires at least python 3.8 for development and distribution. Development dependencies poetry for managing dependencies and distribution building. It is necessary to perform any operations in development environment.

To install poetry globally (preferred way) use pip in terminal:

pip install poetry

Then use

poetry shell

to spawn new shell with virtual environment activated. Virtual environment will be indicated by terminal prompt prefix (cssfinder_backend_numpy-py3.10), version indicated in prefix depends on used version of Python interpreter. It is not necessary to use Python 3.10, however at least 3.8 is required.

Within shell with active virtual environment use:

poetry install --sync

To install all dependencies. Every time you perform a git pull or change a branch, you should call this command to make sure you have the correct versions of dependencies.

Last line should contain something like:

Installing the current project: cssfinder_backend_numpy (0.1.1)

If no error messages are shown, You are good to go.

Packaging

A Python Wheel is a built package format for Python that can be easily installed and distributed, containing all the files necessary to install a module and can be installed with pip with all dependencies automatically installed too.

To create wheel of cssfinder_backend_numpy use poe task in terminal:

poe build

poe_build

This will create dist/ directory with cssfinder_backend_numpy-0.5.0 or alike inside.

Wheel file can be installed with

pip install ./dist/cssfinder_backend_numpy-0.5.0

What you expect is

Successfully installed cssfinder_backend_numpy-0.5.0

or rather something like

Successfully installed click-8.1.3 contourpy-1.0.7 cssfinder_backend_numpy-0.5.0 cycler-0.11.0 dnspython-2.3.0 email-validator-1.3.1 fonttools-4.39.0 idna-3.4 jsonref-1.1.0 kiwisolver-1.4.4 llvmlite-0.39.1 markdown-it-py-2.2.0 matplotlib-3.7.1 mdurl-0.1.2 numba-0.56.4 numpy-1.23.5 packaging-23.0 pandas-1.5.3 pendulum-2.1.2 pillow-9.4.0 pydantic-1.10.5 pygments-2.14.0 pyparsing-3.0.9 python-dateutil-2.8.2 pytz-2022.7.1 pytzdata-2020.1 rich-13.3.2 scipy-1.10.1 six-1.16.0 typing-extensions-4.5.0

But cssfinder_backend_numpy-0.5.0 should be included in this list.

Code quality

To ensure that all code follow same style guidelines and code quality rules, multiple static analysis tools are used. For simplicity, all of them are configured as pre-commit (learn about pre-commit) hooks. Most of them however are listed as development dependencies.

  • autocopyright: This hook automatically adds copyright headers to files. It is used to ensure that all files in the repository have a consistent copyright notice.

  • autoflake: This hook automatically removes unused imports from Python code. It is used to help keep code clean and maintainable by removing unnecessary code.

  • docformatter: This hook automatically formats docstrings in Python code. It is used to ensure that docstrings are consistent and easy to read.

  • prettier: This hook automatically formats code in a variety of languages, including JavaScript, HTML, CSS, and Markdown. It is used to ensure that code is consistently formatted and easy to read.

  • isort: This hook automatically sorts Python imports. It is used to ensure that imports are organized in a consistent and readable way.

  • black: This hook automatically formats Python code. It is used to ensure that code is consistently formatted and easy to read.

  • check-merge-conflict: This hook checks for merge conflicts. It is used to ensure that code changes do not conflict with other changes in the repository.

  • check-case-conflict: This hook checks for case conflicts in file names. It is used to ensure that file names are consistent and do not cause issues on case-sensitive file systems.

  • trailing-whitespace: This hook checks for trailing whitespace in files. It is used to ensure that files do not contain unnecessary whitespace.

  • end-of-file-fixer: This hook adds a newline to the end of files if one is missing. It is used to ensure that files end with a newline character.

  • debug-statements: This hook checks for the presence of debugging statements (e.g., print statements) in code. It is used to ensure that code changes do not contain unnecessary debugging code.

  • check-added-large-files: This hook checks for large files that have been added to the repository. It is used to ensure that large files are not accidentally committed to the repository.

  • check-toml: This hook checks for syntax errors in TOML files. It is used to ensure that TOML files are well-formed.

  • mixed-line-ending: This hook checks for mixed line endings (e.g., a mix of Windows and Unix line endings) in text files. It is used to ensure that text files have consistent line endings.

To run all checks, you must install hooks first with poe

poe install-hooks

After you have once used this command, you wont have to use it in this environment. Then you can use

poe run-hooks

To run checks and automatic fixing. Not all issues can be automatically fixed, some of them will require your intervention.

Successful hooks run should leave no Failed tasks:

run_hooks_output

Example of failed task:

failed_task

Those hooks will be run also while you try to commit anything. If any tasks fails, no commit will be created, instead you will be expected to fix errors and add stage fixes. Then you may retry running git commit.

Project details


Download files

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

Source Distribution

cssfinder_backend_numpy-0.5.0.tar.gz (24.6 kB view details)

Uploaded Source

Built Distributions

cssfinder_backend_numpy-0.5.0-cp310-cp310-win_amd64.whl (177.8 kB view details)

Uploaded CPython 3.10 Windows x86-64

cssfinder_backend_numpy-0.5.0-cp310-cp310-manylinux_2_35_x86_64.whl (926.2 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.35+ x86-64

cssfinder_backend_numpy-0.5.0-cp310-cp310-macosx_12_0_x86_64.whl (211.3 kB view details)

Uploaded CPython 3.10 macOS 12.0+ x86-64

cssfinder_backend_numpy-0.5.0-cp39-cp39-win_amd64.whl (177.8 kB view details)

Uploaded CPython 3.9 Windows x86-64

cssfinder_backend_numpy-0.5.0-cp39-cp39-manylinux_2_35_x86_64.whl (925.0 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.35+ x86-64

cssfinder_backend_numpy-0.5.0-cp39-cp39-macosx_12_0_x86_64.whl (211.3 kB view details)

Uploaded CPython 3.9 macOS 12.0+ x86-64

cssfinder_backend_numpy-0.5.0-cp38-cp38-win_amd64.whl (178.0 kB view details)

Uploaded CPython 3.8 Windows x86-64

cssfinder_backend_numpy-0.5.0-cp38-cp38-manylinux_2_35_x86_64.whl (973.8 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.35+ x86-64

cssfinder_backend_numpy-0.5.0-cp38-cp38-macosx_12_0_x86_64.whl (212.2 kB view details)

Uploaded CPython 3.8 macOS 12.0+ x86-64

File details

Details for the file cssfinder_backend_numpy-0.5.0.tar.gz.

File metadata

File hashes

Hashes for cssfinder_backend_numpy-0.5.0.tar.gz
Algorithm Hash digest
SHA256 fe553c5aa0d66f9b6f19be04165c2479f9ecf1a9ec78a0837da163c29d5ac36d
MD5 b3bba3bf2cd08b5532bde9cd5f287eea
BLAKE2b-256 695b877875dfd8643618b6d7e8ee7d4998b3cee439f3c0e046aefb4d01e8869e

See more details on using hashes here.

File details

Details for the file cssfinder_backend_numpy-0.5.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for cssfinder_backend_numpy-0.5.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 47b2c0cbcba6233da97e5c9f6263fb0adde962fbf6db9f606b07be534a42cc2b
MD5 89f35779cb2772aac540130ccc54cd7a
BLAKE2b-256 e6a830cfc1f4a53c265d84ac6e4e1991a52bfd1ed013fccada9d3ee40ed316c3

See more details on using hashes here.

File details

Details for the file cssfinder_backend_numpy-0.5.0-cp310-cp310-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for cssfinder_backend_numpy-0.5.0-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 92c8f22c72f952e77ef5246c31cabacf8c4650b1dd72849c49c6a94ba2f839ea
MD5 666f992c2fb02bc58ccb8198dc4f5d39
BLAKE2b-256 2276acf709b94be3a47fd2641b2ee3ca39c032c088bbd92b07e948927928940c

See more details on using hashes here.

File details

Details for the file cssfinder_backend_numpy-0.5.0-cp310-cp310-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for cssfinder_backend_numpy-0.5.0-cp310-cp310-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 536b19f9fc2b147143d5493c6149ae68320184400643e803ab6c60e08203d677
MD5 0a8bbe54d1714a0e877e167a23b9eb85
BLAKE2b-256 b2794b69f4c561d3128f62f563c77d779b78c15c503f960cd29d5e96ac8cf4b5

See more details on using hashes here.

File details

Details for the file cssfinder_backend_numpy-0.5.0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for cssfinder_backend_numpy-0.5.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ef06cd3f925b28595c32b9b31c8b221bed37ca6eb5a7d74b706efa9df288e870
MD5 b1faad4f67b184f791ff965764a53872
BLAKE2b-256 87bc887737de674407fdbc73e60e555c482925b4bec69e87ee4dbdb788c4fa05

See more details on using hashes here.

File details

Details for the file cssfinder_backend_numpy-0.5.0-cp39-cp39-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for cssfinder_backend_numpy-0.5.0-cp39-cp39-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 be48a1101e6726d30545ffec917074edab0cfb3a23061537e7aa24231a111755
MD5 e8619fa858afaaad0b3edadb3ef2a145
BLAKE2b-256 295b6f55b8d7072dce640bcfefddc113f29de9cd5578682fae1a8866a6965c0e

See more details on using hashes here.

File details

Details for the file cssfinder_backend_numpy-0.5.0-cp39-cp39-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for cssfinder_backend_numpy-0.5.0-cp39-cp39-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 e46dffb21c7a9324c7845b1b3e07b2107ec68b83dc3e4c34e77d74497f282b69
MD5 d1bf01a148687e7ecf4b273d2524575a
BLAKE2b-256 20a45eb5edac29e39a9ac1b10f6c07a9858413397e291754b449b7f2e4b97a7e

See more details on using hashes here.

File details

Details for the file cssfinder_backend_numpy-0.5.0-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for cssfinder_backend_numpy-0.5.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 252c6039a021af056fe4121d57f5d10c61c0534b64ff97fe65ca813c19a3ba13
MD5 9b747dffadaf3fa8619d5c366d3ceee9
BLAKE2b-256 09e7a53ab90c3762f8fec8a84dc228b29bdce50450da8bf901f578db15017d58

See more details on using hashes here.

File details

Details for the file cssfinder_backend_numpy-0.5.0-cp38-cp38-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for cssfinder_backend_numpy-0.5.0-cp38-cp38-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 f4c6e955513c9ee2c3b06e6e281aa4afd7971a9fa18d6a9a40852b11a1d81e08
MD5 567e71784aab5b6928c33a0f09ae6224
BLAKE2b-256 a678a141a94318c0b67a8c72afb1baf6279fbebe332ec4da86f4014e2a8656c9

See more details on using hashes here.

File details

Details for the file cssfinder_backend_numpy-0.5.0-cp38-cp38-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for cssfinder_backend_numpy-0.5.0-cp38-cp38-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 840c29b8c1bf0336a3f158d3977c55cd5104b0be68a08d70a15bc704078a2a86
MD5 05228a06a3db4053f5d0b05f50b67a22
BLAKE2b-256 823f71860da17de4deb078dc9afa39bcba4fd3bf353d22ecfef34c890b489e1c

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