Skip to main content

A Python library to validate/sanitize a string such as filenames/variable-names/excel-sheet-names.

Project description

Home-page: https://github.com/thombashi/pathvalidate
Author: Tsuyoshi Hombashi
Author-email: tsuyoshi.hombashi@gmail.com
License: MIT License
Description-Content-Type: UNKNOWN
Description: pathvalidate
==============
.. image:: https://badge.fury.io/py/pathvalidate.svg
:target: https://badge.fury.io/py/pathvalidate

.. image:: https://img.shields.io/pypi/pyversions/pathvalidate.svg
:target: https://pypi.python.org/pypi/pathvalidate

.. image:: https://img.shields.io/travis/thombashi/pathvalidate/master.svg?label=Linux
:target: https://travis-ci.org/thombashi/pathvalidate
:alt: Linux CI test status

.. image:: https://img.shields.io/appveyor/ci/thombashi/pathvalidate/master.svg?label=Windows
:target: https://ci.appveyor.com/project/thombashi/pathvalidate/branch/master
:alt: Windows CI test status

.. image:: https://coveralls.io/repos/github/thombashi/pathvalidate/badge.svg?branch=master
:target: https://coveralls.io/github/thombashi/pathvalidate?branch=master

.. image:: https://img.shields.io/github/stars/thombashi/pathvalidate.svg?style=social&label=Star
:target: https://github.com/thombashi/pathvalidate

Summary
---------
A Python library to validate/sanitize a string such as filenames/variable-names/excel-sheet-names.

Features
---------

- Validate/Sanitize a string:
- file name
- file path
- variable name: ``Python``/``JavaScript``
- `Labeled Tab-separated Values (LTSV) <http://ltsv.org/>`__ label
- Elastic search index name
- Excel sheet name
- SQLite table/attribute name

Examples
==========
Validate a filename
---------------------
:Sample Code:
.. code-block:: python

import pathvalidate

try:
pathvalidate.validate_filename("\0_a*b:c<d>e%f/(g)h+i_0.txt")
except ValueError:
print("invalid filename!")

:Output:
.. code-block:: none

invalid filename!

Sanitize a filename
---------------------
:Sample Code:
.. code-block:: python

import pathvalidate

filename = "_a*b:c<d>e%f/(g)h+i_0.txt"
print(pathvalidate.sanitize_filename(filename))

:Output:
.. code-block:: none

_abcde%f(g)h+i_0.txt

Sanitize a variable name
--------------------------
:Sample Code:
.. code-block:: python

import pathvalidate

print(pathvalidate.sanitize_python_var_name("_a*b:c<d>e%f/(g)h+i_0.txt"))

:Output:
.. code-block:: none

abcdefghi_0txt

For more information
----------------------
More examples are available at
http://pathvalidate.rtfd.io/en/latest/pages/examples/index.html

Installation
============

::

pip install pathvalidate


Dependencies
============
Python 2.7+ or 3.4+
No external dependencies.


Test dependencies
-----------------
- `pytest <http://pytest.org/latest/>`__
- `pytest-runner <https://pypi.python.org/pypi/pytest-runner>`__
- `tox <https://testrun.org/tox/latest/>`__

Documentation
===============
http://pathvalidate.rtfd.io/


Keywords: path,validation,validator,sanitize,file,Excel,JavaScript,LTSV,SQLite
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

pathvalidate-0.16.3.tar.gz (17.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pathvalidate-0.16.3-py2.py3-none-any.whl (18.2 kB view details)

Uploaded Python 2Python 3

File details

Details for the file pathvalidate-0.16.3.tar.gz.

File metadata

  • Download URL: pathvalidate-0.16.3.tar.gz
  • Upload date:
  • Size: 17.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pathvalidate-0.16.3.tar.gz
Algorithm Hash digest
SHA256 0c841fc39edb36c8992883fdcb4fe62c2479c956517c6e1beef7bb415cfda601
MD5 111ebbd41312bb7cdb86bc72a89638d5
BLAKE2b-256 65d820b1f950a91b98b1b4b22d46e81c0fe7c6a78c1f470291166eb9d4b62be4

See more details on using hashes here.

File details

Details for the file pathvalidate-0.16.3-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for pathvalidate-0.16.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 f1616809cd353519078ddf96c9bb3bbdceeb18adf11b447068350cd3338f9e29
MD5 8f89cbede361b95d0dcfa721f27ebed8
BLAKE2b-256 21f057a01cd0db525e29fa03250e766207209c02ebe08e506e33e866d87fd82e

See more details on using hashes here.

Supported by

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