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.

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

invalid filename!

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

:Sample Code:
.. code:: python

import pathvalidate

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

:Output:
.. code::

_abcde%f(g)h+i_0.txt

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

:Sample Code:
.. code:: python

import pathvalidate

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

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

History Node

0.20.0

History Node

0.19.0

History Node

0.18.0

History Node

0.17.3

History Node

0.17.2

History Node

0.17.1

History Node

0.17.0

History Node

0.16.3

History Node

0.16.2

This version
History Node

0.16.1

History Node

0.16.0

History Node

0.15.0

History Node

0.14.1

History Node

0.14.0

History Node

0.13.0

History Node

0.12.1

History Node

0.12.0

History Node

0.11.0

History Node

0.10.1

History Node

0.10.0

History Node

0.9.4

History Node

0.9.3

History Node

0.9.2

History Node

0.9.1

History Node

0.9.0

History Node

0.8.3

History Node

0.8.2

History Node

0.8.1

History Node

0.8.0

History Node

0.7.1

History Node

0.6.0

History Node

0.5.2

History Node

0.5.1

History Node

0.5.0

History Node

0.4.2

History Node

0.4.1

History Node

0.4.0

History Node

0.3.0

History Node

0.2.0

History Node

0.1.0

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
pathvalidate-0.16.1-py2.py3-none-any.whl (18.1 kB) Copy SHA256 hash SHA256 Wheel py2.py3 Aug 13, 2017
pathvalidate-0.16.1.tar.gz (17.5 kB) Copy SHA256 hash SHA256 Source None Aug 13, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page