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: 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.

Feature
-------

- 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
-------------------

.. code:: python

import pathvalidate

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

.. code::

invalid filename!

Sanitize a filename
-------------------

.. code:: python

import pathvalidate

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

.. code::

_abcde%f(g)h+i_0.txt

Sanitize a variable name
------------------------

.. code:: python

import pathvalidate

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

.. code::

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.3+
No package 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.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.0.tar.gz (17.3 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.0-py2.py3-none-any.whl (18.1 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

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

File hashes

Hashes for pathvalidate-0.16.0.tar.gz
Algorithm Hash digest
SHA256 81c665a16e41203dc7698caf4f7ee15b7da97e36368e30e76e76e968ce77f468
MD5 fa119fcdbc744dc3a9de11185437992c
BLAKE2b-256 d8c537474d872ca29510a10d93b103920fad551f577b696104a3574a89093e5f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pathvalidate-0.16.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 5e429272a16fb7382620ceb184a1b0c12a0fc75f3ce448dacc268d9b0c40f2a1
MD5 8a3c456d1d8161e8e56a3b261ad4eb0b
BLAKE2b-256 28836b0f7a6d9af894b215b0e469ca7f8f514ec337d27f1bff485e897be741c9

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