Installation
-------------

If you are lazy, just perform

::

 $ pip install plac

which will install the module on your system.

If you prefer to install the full distribution from source, including
the documentation, download the tarball_, unpack it and run

::

 $ python setup.py install

in the main directory, possibly as superuser.

.. _tarball: http://pypi.python.org/pypi/plac

Testing
--------

Run

::

 $ python doc/test_plac.py

You will see several apparent errors, but this is right, since the tests
are checking for several error conditions. The important thing is that
you get at the a line like

``Executed XX tests OK``

Quickstart
----------

Here is a script that does some processing on a database table:

.. code-block::

   # updatedb.py
   from datetime import datetime
   
   def main(dsn, table='product', today=datetime.today()):
       "Do something on the database"
       print(dsn, table, today)
   
   if __name__ == '__main__':
       import plac; plac.call(main)

Here is the help message automatically generated by plac::
  
  $ python updatedb.py -h
  usage: updatedb.py [-h] dsn [table] [today]
  
  Do something on the database
  
  positional arguments:
    dsn
    table       [product]
    today       [2019-07-28 07:18:20.054708]
  
  optional arguments:
    -h, --help  show this help message and exit

Nevertheless to say, but plac can do a lot more, up to the creation of
domain specif languages(!)

Documentation
--------------

The source code and the documentation are hosted on GitHub.
Here is the full documentation in both HTML and PDF formats:

- http://micheles.github.io/plac/
- https://github.com/micheles/plac/blob/1.1.0/doc/plac.pdf
