Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

# Open Project Linter

##About this project
The Open Project Linter is an automated checklist that new (or experienced
but forgetful) open source maintainers can use to make sure that they're
using good practices in their documentation, code, and project resources.

The project started as a way to automate
[this checklist for newsroom developers](https://docs.google.com/document/d/1kTtHAgzlyteODMia1JmIGbKkjGugxKMZfxoWEGdku_Q/edit#),
but these are good practices for most open source projects!

##Getting Started
###Installation
It is recommended that you use a virtual environment in order to avoid
dependency conflicts between projects. For more information,
[a tutorial on virtual environments](http://docs.python-guide.org/en/latest/dev/virtualenvs/).
Once you have set up a python3 virtual environment, activate the environment.
Then you can use pip to install Open Project Linter.
```
$ pip install open-project-linter
```
*NOTE:* until the first release, you will need to use the `--pre` flag when installing:
```
$ pip install --pre open-project-linter
```

Once you have installed the package, you should be able to run it from the
command line (see [Example usage](#Example usage)).

This may work with Python 2.7 as well, although Python 2 is not officially
supported.

###Example usage
Once you have installed the package, if you want to check a local repository,
make sure your virtual enviroment is activated and run:
```
$ openlinter -d path/to/repository/
```

For more help, run `$ openlinter --help`.

####Using configuration files
Open Project Linter is configurable, so that you can decide what project
features you want to check for and what file names you want to make sure
exist. The default configuration file is located at
`path/to/openlinter/rules.yml`.

You can also use the `-r` flag to specify where your desired configuration file
is, like so:
```
$ openlinter -r path/to/rules.yml -d path/to/repository/
```
to use the file located at `path/to/rules.yml` to check the repository at
`path/to/repository/`.

## Contributing
###How to set up the dev environment
To set this up for development, fork this repository, then clone it to
your development machine using `git clone`.

Once you've committed your changes and pushed them to your fork of the
repository, file a pull request to get your contribution into the main
repository.

##Changelog
###version 0.4dev
* Now installs Pygments automatically when installed with pip, with or
without pulling versions from `requirements.txt`
* Now includes `rules.yml` in the package and uses a correct default path
to it
###version 0.3dev
* Improve documentation
* Fix accidental return value change in file content checker
###version 0.2dev
* Add automated tests
* Fix path bug in file content checker

###version 0.1dev
* Command-line application invokable with `openlinter`, with help on
how to run it
* Given the path to a directory, checks for:
* the existence of license, contributing, and readme files
* the presence of code files in the directory and any subdirectories
* the presence of a git repository, multiple branches,
multiple commits on any branch, and a named development/feature branch
* Configurable via `rules.yml`

##Meta
Mozilla Open News - https://www.opennews.org/

Contributors:
* Frances Hocutt - https://franceshocutt https://github.com/fhocutt/
* Sumana Harihareswara - https://changeset.nyc

The Open Project Linter is available under v. 2.0 of the Apache license.
See `LICENSE` for more information.

Metadata

Release files for open-project-linter 0.4dev

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for open-project-linter 0.4dev
File Size Uploaded
open-project-linter-0.4dev.tar.gz 6.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for open-project-linter 0.4dev
File Interpreter ABI Platform
open_project_linter-0.4dev-py3-none-any.whl Python 3 none any Details

Total release size: 18.3 kB

Release files / open-project-linter-0.4dev.tar.gz

Download URL open-project-linter-0.4dev.tar.gz
Size 6.9 kB
Tags Source
SHA-256 checksum
How to use checksums
44b2c4261211ad3d0aabb097f909a7effde82acc7efb68d30de45b673a108143
BLAKE2b-256 checksum
How to use checksums
750ed1bf0d60465601c3719cd5d883bcfcc960a6cf2897c6b36c8cb3d6f97c6c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / open_project_linter-0.4dev-py3-none-any.whl

Download URL open_project_linter-0.4dev-py3-none-any.whl
Size 11.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e61cf80bf3f542ee88003b0ac01d39341b575d28ccf0995a4fa041523de79a26
BLAKE2b-256 checksum
How to use checksums
2f84e6ca28d3329f8d91791bdaa52a77399dea7b0368499b3324daeb11860ec9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page