Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pravj/lisense

Sensible repository licensing for Humans
https://github.com/pravj/lisense

github license license-management open-source

Last synced: 30 days ago
JSON representation

Sensible repository licensing for Humans

Awesome Lists containing this project

README

        

lisense
=======

Sensible repository licensing for Humans

.. image:: https://img.shields.io/pypi/v/lisense.svg?style=flat-square
:target: https://pypi.python.org/pypi/lisense/
:alt: Latest Version

.. image:: https://img.shields.io/badge/Python-2.6%2C%202.7-brightgreen.svg?style=flat-square
:target: https://pypi.python.org/pypi/lisense/
:alt: Supported Python versions

.. image:: https://img.shields.io/pypi/l/lisense.svg?style=flat-square
:target: https://pypi.python.org/pypi/lisense/
:alt: License

.. image:: https://img.shields.io/pypi/dm/lisense.svg?style=flat-square
:target: https://pypi.python.org/pypi/lisense/
:alt: Downloads

**Sir Isaac Newton once said that**
*Open source simply isn't open source without a proper license. So add a license. Always.*

GitHub recently launched their `License API `__, it's still in preview stage though.
They also released a blog post showing `Open source license usage on GitHub.com `__, which is enough to convice you that why adding a license is
`sine qua non `__.

*Newton and Open Source, Respect both, let us.*

\- Yoda

lisense in action
~~~~~~~~~~~~~~~~~
.. figure:: https://raw.githubusercontent.com/pravj/lisense/master/docs/lisense.gif
:alt: lisense

Installation
~~~~~~~~~~~~
pip install lisense

lisense. What?
~~~~~~~~~~~~~~
lisense is a command-line tool which helps you license your projects.
- Lets you have a global configuration. Use your defaults, anywhere, anytime.
- Guides you about using a particular license, better than you uncle.
- And yes! Generates licenses.

lisense. Controls?
~~~~~~~~~~~~~~~~~~
Generating a license is more easy than doing nothing.
- lisense list
List all available licenses.
- lisense guide [license]
Provide guidance about a license. Description, use cases etc.
- lisense setup
Setup global lisense configurations. Default license and owner name.
- lisense new [license] --owner="OWNER NAME"
Generates new license. Both the *license* and *owner* arguments are optional. Uses defaults when not supplied.

Automatic extra context variable handling
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Almost all the licenses have two common fields in them, *owner* and *year*. Some of them have extra fields also. For example, the GPL-v2 license
has a field *description*, which asks for the description of the project.

Lisense uses *jinja2*'s low level meta API to parse the abstract syntax tree of the template and interactively asks users to fill
extra fields, if any.

So, you don't have to worry about it.

Dependencies
~~~~~~~~~~~~
- `docopt `__ - command-line argument parsing
- `jinja2 `__ - generate licenses from license templates
- `xtermcolor `__ - colorful messages on terminal

-----

Built with :two_hearts: by `Pravendra Singh `__