Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Twisted History of Python Packaging

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for Mahdi Yusuf Mahdi Yusuf
November 07, 2012

Twisted History of Python Packaging

Python Packaging has had a more than less than ideal evolution. This talk aims to clarify this evolution so we can build a better future.

Avatar for Mahdi Yusuf

Mahdi Yusuf

November 07, 2012
Tweet

More Decks by Mahdi Yusuf

Other Decks in Programming

Transcript

  1. FOCUS UP. This journey is a story of growth which

    is often extremely convoluted.
  2. import os import sys try: from setuptools import setup except

    ImportError: from distutils.core import setup sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) from octogit import __version__ def publish(): os.system("python setup.py sdist upload") if sys.argv[-1] == "publish": publish() sys.exit() dependencies = ['clint2','requests'] setup( name='octogit', version=".".join(str(x) for x in __version__), description='giving git tentacles to work better with github', url='https://github.com/myusuf3/octogit', author='Mahdi Yusuf', author_email='[email protected]', install_requires=dependencies, tests_require=['tox==1.3'], packages=['octogit', ], license='MIT License', long_description=open('README.rst').read(), entry_points={ 'console_scripts': [ 'octogit = octogit.cli:begin', ], }, classifiers=( 'Development Status :: 4 - Beta', 'Intended Audience :: Developers', 'Natural Language :: English', 'License :: OSI Approved :: MIT License', 'Programming Language :: Python', 'Programming Language :: Python :: 2.6', 'Programming Language :: Python :: 2.7', ))
  3. 1.1 “Return of the Mac” Musky Monkey demo5.unreleased 5 6

    42 Public API Changes Features, Deprecations Bug Fixes
  4. distutils2 [metadata] name = sadness version = 11.0 author =

    Mahdi Yusuf author-email = [email protected] summary = sending you sadness description-file = README.rst project-url: http://www.twitter.com/myusuf3 [files] packages = sadness extra_files = setup.py README resources = etc/pytz.timezones
  5. PEP 386 -- Changing the version comparison modules PEP 376

    -- Database of Installed Python Distributions PEP 345 -- Metadata for Python Software Packages 1.2