Skip to main content

A convenience utility for software source code validation and linting

Project description

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.

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.

Source code is available on Github. Please use Github issue tracker to contact the authors.

Explore different linting and validators available.

Continuous integration status

Current trunk continuous integration status with Travis CI

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

Author

Mikko Ohtamaa (blog, Twitter)

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

Changelog

0.2.3 - 0.2.4

  • Correctly pick up RST validator script from path if not under virtualenv [miohtama]

0.2.2 - 0.2.3

  • More git hook silent install corner case fixes

0.2.1 - 0.2.2

  • Smarter way to detect vvv command location when installing a precommit hook [miohtama]

  • Integration documentation updates [miohtama]

0.2 - 0.2.1

  • Fixed changelog formatting now that PyPi README page is intact again

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.4.zip (78.6 kB view hashes)

Uploaded Source

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