summaryrefslogtreecommitdiffstats
path: root/README.rst
diff options
context:
space:
mode:
Diffstat (limited to 'README.rst')
-rw-r--r--README.rst80
1 files changed, 80 insertions, 0 deletions
diff --git a/README.rst b/README.rst
new file mode 100644
index 0000000..f2de269
--- /dev/null
+++ b/README.rst
@@ -0,0 +1,80 @@
+**Flit** is a simple way to put Python packages and modules on PyPI.
+It tries to require less thought about packaging and help you avoid common
+mistakes.
+See `Why use Flit? <https://flit.readthedocs.io/en/latest/rationale.html>`_ for
+more about how it compares to other Python packaging tools.
+
+Install
+-------
+
+::
+
+ $ python3 -m pip install flit
+
+Flit requires Python 3 and therefore needs to be installed using the Python 3
+version of pip.
+
+Python 2 modules can be distributed using Flit, but need to be importable on
+Python 3 without errors.
+
+Usage
+-----
+
+Say you're writing a module ``foobar`` — either as a single file ``foobar.py``,
+or as a directory — and you want to distribute it.
+
+1. Make sure that foobar's docstring starts with a one-line summary of what
+ the module is, and that it has a ``__version__``:
+
+ .. code-block:: python
+
+ """An amazing sample package!"""
+
+ __version__ = "0.1"
+
+2. Install flit if you don't already have it::
+
+ python3 -m pip install flit
+
+3. Run ``flit init`` in the directory containing the module to create a
+ ``pyproject.toml`` file. It will look something like this:
+
+ .. code-block:: ini
+
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "foobar"
+ authors = [{name = "Sir Robin", email = "robin@camelot.uk"}]
+ dynamic = ["version", "description"]
+
+ [project.urls]
+ Home = "https://github.com/sirrobin/foobar"
+
+ You can edit this file to add other metadata, for example to set up
+ command line scripts. See the
+ `pyproject.toml page <https://flit.readthedocs.io/en/latest/pyproject_toml.html#scripts-section>`_
+ of the documentation.
+
+ If you have already got a ``flit.ini`` file to use with older versions of
+ Flit, convert it to ``pyproject.toml`` by running ``python3 -m flit.tomlify``.
+
+4. Run this command to upload your code to PyPI::
+
+ flit publish
+
+Once your package is published, people can install it using *pip* just like
+any other package. In most cases, pip will download a 'wheel' package, a
+standard format it knows how to install. If you specifically ask pip to install
+an 'sdist' package, it will install and use Flit in a temporary environment.
+
+
+To install a package locally for development, run::
+
+ flit install [--symlink] [--python path/to/python]
+
+Flit packages a single importable module or package at a time, using the import
+name as the name on PyPI. All subpackages and data files within a package are
+included automatically.