Créer son propre package python

De Centre de Ressources Numériques - Labomedia
Aller à : navigation, rechercher

Cette page utilise un exemple

  • mylabotools (anciennement labtools mais le nom était déjà utilisé)

disponible à https://github.com/sergeLabo/mylabotools

Validé sur debian stretch 9.2 avec pip

Ressources

sametmax.com

Un article de Sam pas récent mais bien écrit comme toujours, pour le Choix des outils, setuptools et pip

mais:
Sam Post le 12/12/2017 at 14:01: C’est un vieil article valable uniquement pour Python 2 qu’il faudra un jour que j’update.
Or un vieil adage dit: Plus de python2 !

GALODE Alexandre sur developpez.com

Diverses

Structure du dossier

mylabotools/
|
+ __init__.py avec rien ou quelque chose
+-- setup.py
+-- README.md
+-- LICENSE
+-- MANIFEST.in
+-- /mylabotools
    |
    + labfifolist.py
    + labconfig.py
    etc ....

Exemple de setup.py

#!/usr/bin/env python3

from distutils.core import setup

setup(  name='mylabotools',
        packages = ["mylabotools"],
        version='1.26',
        description='Python Labomedia Utilities',
        author='sergeLabo',
        url='https://labomedia.org',
        download_url='https://github.com/sergeLabo/mylabotools',
        license='GPL Version 2',
        keywords = ["blender", "netwoek", "tools"],
        classifiers = [ "Programming Language :: Python",
                        "Programming Language :: Python :: 3",
                        "Development Status :: 1",
                        "Environment :: Linux",
                        "Intended Audience :: Developers",
                        "License :: OSI Approved :: GNU General Public License v2 (GPLv2)",
                        "Operating System :: Debian",
                        "Topic :: Blender Game Engine"
                        "Topic :: Network",
                        "Requires: re"],
        long_description = """\
        Tools used every day
        --------------------
        Tools for Blender Game Engine Python Script
        """,

        py_modules=['labfifolist',
                    'labformatter',
                    'labgetmyip',
                    'labconfig',
                    'labgetmyip',
                    'labmulticast',
                    'labtcpclient',
                    'labudpclient',
                    'labsometools',
                    'labsound',
                    'labtempo',
                    'labtexturechange',
                    'labviewport',
                    'labirctwisted',
                    'labmulticasttwisted',
                    'labtcptwisted']
     )

Ressources sur toutes les possibilités des classifiers

Installation

Directe dans le dossier des sources

sudo python3 setup.py install

Avec pip et téléchargement sur github

sudo pip3 install -e git+https://github.com/sergeLabo/mylabotools.git#egg=mylabotools

Mise à jour:

sudo pip3 install --upgrade git+https://github.com/sergeLabo/mylabotools.git#egg=mylabotools

Utilisation

import mylabotools

ou

from mylabotools import labtcpclient

A faire

  • créer une doc avec sphinx ou doxygen
  • créer des dossiers par type: blender, network, bazar
  • créer un package lalabomedia, digue dondaine