setup.py 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. # fichier et explications issues de: http://sametmax.com/creer-un-setup-py-et-mettre-sa-bibliotheque-python-en-ligne-sur-pypi/
  2. from setuptools import setup, find_packages
  3. import hello_world
  4. setup(
  5. # le nom de votre bibliothèque, tel qu'il apparaitre sur pypi
  6. name='hello_world',
  7. # la version du code
  8. version=hello_world.__version__,
  9. # Liste les packages à insérer dans la distribution
  10. # plutôt que de le faire à la main, on utilise la foncton
  11. # find_packages() de setuptools qui va cherche tous les packages
  12. # python recursivement dans le dossier courant.
  13. # C'est pour cette raison que l'on a tout mis dans un seul dossier:
  14. # on peut ainsi utiliser cette fonction facilement
  15. packages=find_packages(),
  16. # votre pti nom
  17. author="olivier.massot",
  18. # Votre email, sachant qu'il sera publique visible, avec tous les risques
  19. # que ça implique.
  20. author_email="olivier.massot@gmail.com",
  21. # Une description courte
  22. description="Hello world",
  23. # Une description longue, sera affichée pour présenter la lib
  24. # Généralement on dump le README ici
  25. long_description=open('README.md').read(),
  26. # Vous pouvez rajouter une liste de dépendances pour votre lib
  27. # et même préciser une version. A l'installation, Python essayera de
  28. # les télécharger et les installer.
  29. #
  30. # Ex: ["docopt", "docutils >= 0.3", "lxml==0.5a7"]
  31. #
  32. # install_requires= ,
  33. # Active la prise en compte du fichier MANIFEST.in
  34. include_package_data=True,
  35. # Une url qui pointe vers la page officielle de votre lib
  36. url='http://codebox/lab/Integration-continue',
  37. # Il est d'usage de mettre quelques metadata à propos de sa lib
  38. # Pour que les robots puissent facilement la classer.
  39. # La liste des marqueurs autorisées est longue:
  40. # https://pypi.python.org/pypi?%3Aaction=list_classifiers.
  41. #
  42. # Il n'y a pas vraiment de règle pour le contenu. Chacun fait un peu
  43. # comme il le sent. Il y en a qui ne mettent rien.
  44. classifiers=[
  45. "Programming Language :: Python",
  46. "Development Status :: 1 - Planning",
  47. "License :: OSI Approved",
  48. "Natural Language :: French",
  49. "Operating System :: OS Independent",
  50. "Programming Language :: Python :: 2.7",
  51. "Topic :: Communications",
  52. ],
  53. # C'est un système de plugin, mais on s'en sert presque exclusivement
  54. # Pour créer des commandes, comme "django-admin".
  55. # Par exemple, si on veut créer la fabuleuse commande "hello-command", on
  56. # va faire pointer ce nom vers la fonction proclamer(). La commande sera
  57. # créé automatiquement.
  58. # La syntaxe est "nom-de-commande-a-creer = package.module:fonction".
  59. entry_points={
  60. 'console_scripts': [
  61. 'hello-command = hello_world.core:hello_message',
  62. ],
  63. },
  64. # A fournir uniquement si votre licence n'est pas listée dans "classifiers"
  65. # ce qui est notre cas
  66. license="WTFPL",
  67. # Et encore d'autres paramètes...
  68. )