Skip to main content

Module and command-line tool that wraps around hashlib and zlib to facilitate generating checksums / hashes of files.

Project description

``fileshash``
============

.. image:: https://img.shields.io/pypi/v/fileshash.svg
:target: https://pypi.python.org/pypi/fileshash

.. image:: https://img.shields.io/travis/mmore500/fileshash.svg
:target: https://travis-ci.org/mmore500/fileshash

Python module to facilitate calculating the hash of multiple files.
Tested against Python 2.7, Python 3.6, PyPy 2.7 and PyPy 3.5.
Currently supports `Adler-32 <https://en.wikipedia.org/wiki/Adler-32>`_, `CRC32 <https://en.wikipedia.org/wiki/Cyclic_redundancy_check>`_, `MD5 <https://en.wikipedia.org/wiki/MD5>`_, `SHA-1 <https://en.wikipedia.org/wiki/SHA-1>`_, `SHA-256 and SHA-512 <https://en.wikipedia.org/wiki/SHA-2>`_, and `xxHash-32 and xxHash-64 <https://xxhash.com>`_.

Forked from Leonides T. Saguisag Jr.'s `FileHash <https://github.com/leonidessaguisagjr/filehash>`_.

``FilesHash`` class
------------------

The ``FilesHash`` class wraps around the ``hashlib`` (provides hashing for MD5, SHA-1, SHA-256 and SHA-512) and ``zlib`` (provides checksums for Adler-32 and CRC32) modules and contains the following methods:

- ``hash_file(filename)`` - Calculate the file hash for a single file. Returns a string with the hex digest.
- ``cathash_files(filenames)`` - TODO
- ``hophash_files(filenames)`` - TODO

The ``FileHash`` constructor has two optional arguments:

- ``hash_algorithm='sha256'`` - Specifies the hashing algorithm to use.
See ``filehash.SUPPORTED_ALGORITHMS`` for the list of supported hash / checksum algorithms.
Defaults to SHA256.
- ``chunk_size=262144`` - Integer specifying the chunk size to use (in bytes) when reading the file.
This comes in useful when processing very large files to avoid having to read the entire file into memory all at once. Default chunk size is 262144 bytes.

Example usage
-------------

The library can be used as follows::

>>> import os
>>> from fileshash import FilesHash
>>> TODO


``fileshash`` command line tool
---------------------------------

A command-line tool called ``fileshash`` is also included with the ``fileshash`` package.
Here is an example of how the tool can be used::

$ TODO

Run the tool without any parameters or with the ``-h`` / ``--help`` switch to get a usage screen.

License
-------

This is released under an MIT license.
See the ``LICENSE`` file in this repository for more information.


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

fileshash-0.1.1.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

fileshash-0.1.1-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

Details for the file fileshash-0.1.1.tar.gz.

File metadata

  • Download URL: fileshash-0.1.1.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.3

File hashes

Hashes for fileshash-0.1.1.tar.gz
Algorithm Hash digest
SHA256 9c4855728f441003ae475864535faa6c112481382af49de8c0f24c9ebd3d1491
MD5 35342025c1c2cc48b1126a19d46706a8
BLAKE2b-256 c44c191fc06f8204c6dfeaa7324d84c9cbc935e86bf682860fdb9582b0eb08c1

See more details on using hashes here.

File details

Details for the file fileshash-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: fileshash-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 6.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.3

File hashes

Hashes for fileshash-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b945af6e4d8e8d862ecae7a45187942ba403d8655c3cd32574d53905463af11f
MD5 76740a2eac1d9623fdca1f3073c809f6
BLAKE2b-256 6a84559aa131d4ca74e40188af8c85491d0ee94dbda05015c638ca87f6421379

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