Tool for adding open source licenses to your projects
Finding and adding a license to your project is an annoying process, and can be quite tedious depending on the license you choose.
Licenser allows you to quickly add a license to your project from the command line. Supported licenses can be found in the assets folder.
Don't see what you need? Open an issue to suggest the addition of other licenses!
- Python 2.6+ or Python 3.4+
$ pip install licenserAlternatively, grab the zip!
From the command line:
$ licenser -n "Your Name" -e "you@example.com" -l "license name" -p "project name"Name, email, and license are the three required parameters; project will default to the current directory name if you don't include it.
--txt will add the .txt extension to the LICENSE file.
If you're like me and don't change your name very often, you can save time by
storing your defaults for name, email, and license in ~/.licenser:
name="Your Name"
email="you@example.com"
license="MIT"Now any time you run licenser, you don't need to provide arguments unless you
want to override defaults.
I recommend using pyenv with the pyenv-virtualenv plugin. This
document provides information on setting that up.
Regardless, make sure you have Python 2.7 or 3.6 installed in some form.
With pyenv
First, clone the repository:
$ git clone https://github.com/tylucaskelley/licenser && cd licenserNext, create your virtual environment and activate it:
$ pyenv virtualenv venv && pyenv activate venvFinally, install the dependencies:
$ pip install -r requirements.txtNow you're good to go! Run tests with the nosetests command and test out the
script with python licenser [args].
Without pyenv
Clone the repository:
$ git clone https://github.com/tylucaskelley/licenser && cd licenserInstall the dependencies:
pip install -r requirements.txtNow you're good to go! Run tests with the nosetests command and test out the
script with python licenser [args].
See CONTRIBUTING.md for details.
I accept pull requests; there are some potential improvements I've been thinking about:
- Prepending headers to source code files for licenses that recommend it
- Pull licenses from an online API (maybe)
- Support for more licenses
Additionally, make sure that all tests pass when you add features, and write
new unit tests if you add a function. Tests can be run using the nosetests
command from the root project directory.