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.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.3.zip (78.2 kB view details)

Uploaded Source

File details

Details for the file vvv-0.2.3.zip.

File metadata

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

File hashes

Hashes for vvv-0.2.3.zip
Algorithm Hash digest
SHA256 64e86a32460971f04c4165b6fb29c57829c39a1c74f6b67348421622f937d5ad
MD5 ec898e00920be61d2d60819001b99352
BLAKE2b-256 d7d49738176009ed76dc02a1114cf0bc20ff0f50e2289829ca7a94c908f45059

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