diff options
Diffstat (limited to 'doc/flit_ini.rst')
-rw-r--r-- | doc/flit_ini.rst | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/doc/flit_ini.rst b/doc/flit_ini.rst new file mode 100644 index 0000000..b41d967 --- /dev/null +++ b/doc/flit_ini.rst @@ -0,0 +1,113 @@ +:orphan: + +The flit.ini config file +======================== + +This file lives next to the module or package. + +.. note:: + + Flit 0.12 and above uses a :doc:`pyproject.toml file <pyproject_toml>` file + to store this information. Run ``python3 -m flit.tomlify`` to convert a + ``flit.ini`` file to ``pyproject.toml``. + +Metadata section +---------------- + +There are four required fields: + +module + The name of the module/package, as you'd use in an import statement. +author + Your name +author-email + Your email address +home-page + A URL for the project, such as its Github repository. + +e.g. for flit itself + +.. code-block:: ini + + [metadata] + module=flit + author=Thomas Kluyver + author-email=thomas@kluyver.me.uk + home-page=https://github.com/pypa/flit + +The remaining fields are optional: + +requires + A list of other packages from PyPI that this package needs. Each package + should be on its own line, and may be followed by a version specifier in + parentheses, like ``(>=4.1)``, and/or an `environment marker + <https://www.python.org/dev/peps/pep-0345/#environment-markers>`_ + after a semicolon. For example: + + .. code-block:: ini + + requires = requests (>=2.6) + configparser; python_version == '2.7' + +dev-requires + Packages that are required for development. This field is in the same format + as ``requires``. + + These are not (yet) encoded in the wheel, but are used when doing + ``flit install``. +description-file + A path (relative to the .ini file) to a file containing a longer description + of your package to show on PyPI. This should be written in `reStructuredText + <http://docutils.sourceforge.net/docs/user/rst/quickref.html>`_, if your long + description is not valid reStructuredText, a warning will be printed, + and it will be interpreted as plain text on PyPI. +classifiers + A list of `Trove classifiers <https://pypi.python.org/pypi?%3Aaction=list_classifiers>`_, + one per line, indented. +requires-python + A version specifier for the versions of Python this requires, e.g. ``~=3.3`` or + ``>=3.3,<4`` which are equivalents. +dist-name + If you want your package's name on PyPI to be different from the importable + module name, set this to the PyPI name. +keywords + Comma separated list of words to help with searching for your package. +license + The name of a license, if you're using one for which there isn't a Trove + classifier. It's recommended to use Trove classifiers instead of this in + most cases. +maintainer, maintainer-email + Like author, for if you've taken over a project from someone else. + +Here's the full example from flit itself: + +.. code-block:: ini + + [metadata] + author=Thomas Kluyver + author-email=thomas@kluyver.me.uk + home-page=https://github.com/pypa/flit + requires=requests + requires-python= >=3 + description-file=README.rst + classifiers=Intended Audience :: Developers + License :: OSI Approved :: BSD License + Programming Language :: Python :: 3 + Topic :: Software Development :: Libraries :: Python Modules + +.. _flit_ini_scripts: + +Scripts section +--------------- + +Each key and value in this describes a shell command to be installed along with +your package. These work like setuptools 'entry points'. Here's the section +for flit: + +.. code-block:: ini + + [scripts] + flit = flit:main + +This will create a ``flit`` command, which will call the function ``main()`` +imported from :mod:`flit`. |