Skip to main content

A convenience utility for software source code validation and linting

Project description

========================================
VVV - validation and linting integrator
========================================

VVV is a tool for easy validation and linting integration for your software project.
With a single command validate all files, no matter in which programming language,
in a source tree against a policy you specify in a simple configuration file.
VVV prevents bad stuff to be committed in your software source control or makes cleaning it up easier.

.. contents :: :local:

Benefits
=========

* Enforce coding conventions across multiple developers

* Enable linting and validators support for your software project with a single command

* Automatically guide committers to policy guidelines and let them fix errors themselves, instead of having
post-commit personal coaching.

* Provide sane default validation and linting options for all popular programming languages and file formats

* Run VVV as continuous integration service with systems like Travis CI or Jenkins and shoot down bad code push-ins

What VVV doesn't do

* This is not automated testing tool. We just scan files against a **policy**, not for
programming errors. Linting tools tend to pick up programming errors, too though,
like mistyped names.

Features
=========

* Set-up for your software repository with two files ``validation-options.yaml`` (configuration) and ``validation-files.yaml`` (whitelist/blacklist)

* VVV automatically downloads and locally installs required software - you don't need to spend time hunting downloads or distribution packages

* Check file against hard tabs and whitespace policies - no more different tab width ever

* Prevent committing hard source code breakpoints, like Python's ``import pdb ; pdb.set_trace()``

* Support (on its way) for Subversion, Git, Github, Travis CI, Jenkings and other popular version control and continuous integration
systems

Documentation and code
=========================

Please see the `VVV documentation <http://miohtama.github.com/vvv/>`_.

`Source code is available on Github <https://github.com/miohtama/vvv>`_. Please use Github issue tracker
to contact the authors.

Explore different `linting and validators available <http://miohtama.github.com/vvv/validators.html>`_.

Continuous integration status
================================

Current trunk continuous integration status with Travis CI

.. image :: https://secure.travis-ci.org/miohtama/vvv.png

Author
===============

Mikko Ohtamaa (`blog <http://opensourcehacker.com>`_, `Twitter <http://twitter.com/moo9000>`_)

Please use Github issue tracker to contact the authors in the project related matters.




===================
Changelog
===================

0.1.1 - 0.2
---------------

- ``pylint-command`` option added [miohtama]

- Ghetto-CI continuous integration script [miohtama]

- Configuration file reader refactored to something more beautiful [miohtama]

- Now you can VVV individual files [miohtama]

- VVV can walk up in the directory tree to find validation-options.yaml file [miohtama]

- Set ``zip_safe = False`` on the egg just in case [miohtama]

0.1 - 0.1.1
--------------

- Added Github links to README [miohtama]

0.1
----

- Initial release

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

vvv-0.2.zip (77.1 kB view details)

Uploaded Source

File details

Details for the file vvv-0.2.zip.

File metadata

  • Download URL: vvv-0.2.zip
  • Upload date:
  • Size: 77.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for vvv-0.2.zip
Algorithm Hash digest
SHA256 b1f883d45cd6a5fdd9a7b094271fe0da841596fd3be843983705e6e793d2e191
MD5 34436831232275d69bff6ce86b11f8e9
BLAKE2b-256 3ff070127122d97478ab1ea634e976cc3c370a9ffdfde0471cd0b17e8229ad5d

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