Python packaging

  • Estructura de un proyecto Python

  • Organización de un paquete y un módulo

  • Documentación de un proyecto

  • Instalación y vendoring

    • Entornos virtuales

    • El ecosistema PYPI y setuptools

    • pip

guillem@nfqbabe> ls -ltra                            ~/projects/pylm
total 100
-rw-r--r--  1 guillem users 35141 Mar 10 09:14 LICENSE
drwxr-xr-x  2 guillem users  4096 Jun 10 07:15 pylm.egg-info
drwxr-xr-x  7 guillem users  4096 Jun 16 07:59 tests
drwxr-xr-x  5 guillem users  4096 Aug  8 12:33 build
-rw-r--r--  1 guillem users   841 Aug 10 16:10 .gitignore
drwxr-xr-x  4 guillem users  4096 Aug 11 09:38 docs
-rw-r--r--  1 guillem users  1194 Aug 16 09:56 README.rst
-rw-r--r--  1 guillem users  1136 Aug 16 10:19 setup.py
drwxr-xr-x  2 guillem users  4096 Aug 16 10:20 dist
drwxr-xr-x  9 guillem users  4096 Aug 17 08:23 pylm
drwxr-xr-x 18 guillem users  4096 Aug 18 12:39 ..

In [ ]:
#!/usr/bin/env python

from setuptools import setup

setup(name='pylm',
      version='0.6.21',
      description='A framework to build clusters of high performance microservices',
      author='Guillem Borrell',
      author_email='guillem.borrell@nfq.es',
      packages=['pylm',
                'pylm.components',
                'pylm.persistence',
                'pylm.standalone',
                'pylm.chained',
                'pylm.pipelined'],
      classifiers=[
          'Development Status :: 4 - Beta',
          'Environment :: Console',
          'Intended Audience :: Developers',
          'Operating System :: POSIX',
          'Programming Language :: Python',
          'License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)',
          'Topic :: System :: Distributed Computing',
          'Programming Language :: Python :: 3',
          'Programming Language :: Python :: 3.4',
          'Programming Language :: Python :: 3.5'
      ],
      install_requires=['protobuf>=3.0.0', 'requests', 'pyzmq', 'requests']
      )