SimPyPI

Simple PyPi package
Download

SimPyPI Ranking & Summary

Advertisement

  • Rating:
  • License:
  • MPL
  • Price:
  • FREE
  • Publisher Name:
  • Jeff Hammel
  • Publisher web site:
  • http://topp.openplans.org

SimPyPI Tags


SimPyPI Description

SimPyPI is a simple Python package index.How simpypi worksThe heart of simpypi is simpypi.wsgi.SimPyPI, a simple WSGI web app that accepts a uploaded python package distribution and places it according to its name and version metadata appropriate to the simple index protocol .For security, SimPyPI returns straight HTTP 400 s for invalid requests. This could probably be improved.SimPyPI itself does not serve this directory. The directory should be served by a fileserver that will generate directory indices (as apprpropriate to http://guide.python-distribute.org/contributing.html#the-simple-index-protocol) such as Apache or FileServer. simpypi.factory.factory does provide a factory to make a WSGI app that wraps FileServer in middleware and serves the simple index under /index/ and the SimPyPI app at /. Additionally, a simpypi command line program is provided that front-ends this.Currently simpypi only works on source distributions (that is, packages made with python setup.py sdist).ExampleI installed an instance of simpypi at http://k0s.org:8080 for demonstration purposes with a package index at http://k0s.org:8080/index/. For testing purposes, I made a script, upload_mobase.py that uploads the mozbase packages to simpypi. So the index is now populated with them.You can upload packages with curl> wget http://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.10.tar.gz> curl -F 'package=@PyYAML-3.10.tar.gz' http://k0s.org:8080/You can easy_install mozbase from http://k0s.org:8080/index/. If a package's dependencies can be found from the simpypi package index, they will also be installed from the index:> virtualenv.py tmpNew python executable in tmp/bin/pythonInstalling setuptools............done.Installing pip...............done.> cd tmp/(tmp)│easy_install -i http://k0s.org:8080/index/ mozrunnerSearching for mozrunnerReading http://k0s.org:8080/index/mozrunner/Best match: mozrunner 5.1Downloading http://k0s.org:8080/index/mozrunner/mozrunner-5.1.tar.gzProcessing mozrunner-5.1.tar.gzRunning mozrunner-5.1/setup.py -q bdist_egg --dist-dir/tmp/easy_install-gqerOV/mozrunner-5.1/egg-dist-tmp-Qyx3CrAdding mozrunner 5.1 to easy-install.pth fileInstalling mozrunner script to /home/jhammel/tmp/binInstalled/home/jhammel/tmp/lib/python2.7/site-packages/mozrunner-5.1-py2.7.eggProcessing dependencies for mozrunnerSearching for mozprofile>=0.1Reading http://k0s.org:8080/index/mozprofile/Best match: mozprofile 0.1Downloading http://k0s.org:8080/index/mozprofile/mozprofile-0.1.tar.gzProcessing mozprofile-0.1.tar.gzRunning mozprofile-0.1/setup.py -q bdist_egg --dist-dir/tmp/easy_install-4Im6x0/mozprofile-0.1/egg-dist-tmp-9Jp5TRAdding mozprofile 0.1 to easy-install.pth fileInstalling mozprofile script to /home/jhammel/tmp/binInstalled/home/jhammel/tmp/lib/python2.7/site-packages/mozprofile-0.1-py2.7.eggSearching for mozprocessReading http://k0s.org:8080/index/mozprocess/Best match: mozprocess 0.1b2Downloadinghttp://k0s.org:8080/index/mozprocess/mozprocess-0.1b2.tar.gzProcessing mozprocess-0.1b2.tar.gzRunning mozprocess-0.1b2/setup.py -q bdist_egg --dist-dir/tmp/easy_install-KU6AiF/mozprocess-0.1b2/egg-dist-tmp-4j5CMPAdding mozprocess 0.1b2 to easy-install.pth fileInstalled/home/jhammel/tmp/lib/python2.7/site-packages/mozprocess-0.1b2-py2.7.eggSearching for mozinfoReading http://k0s.org:8080/index/mozinfo/Best match: mozinfo 0.3.3Downloading http://k0s.org:8080/index/mozinfo/mozinfo-0.3.3.tar.gzProcessing mozinfo-0.3.3.tar.gzRunning mozinfo-0.3.3/setup.py -q bdist_egg --dist-dir/tmp/easy_install-JaKeaz/mozinfo-0.3.3/egg-dist-tmp-xWojezAdding mozinfo 0.3.3 to easy-install.pth fileInstalling mozinfo script to /home/jhammel/tmp/binInstalled/home/jhammel/tmp/lib/python2.7/site-packages/mozinfo-0.3.3-py2.7.eggSearching for ManifestDestiny>=0.5.4Reading http://k0s.org:8080/index/ManifestDestiny/Best match: ManifestDestiny 0.5.4Downloadinghttp://k0s.org:8080/index/ManifestDestiny/ManifestDestiny-0.5.4.tar.gzProcessing ManifestDestiny-0.5.4.tar.gzRunning ManifestDestiny-0.5.4/setup.py -q bdist_egg --dist-dir/tmp/easy_install-2blF3S/ManifestDestiny-0.5.4/egg-dist-tmp-R3KZdeAdding ManifestDestiny 0.5.4 to easy-install.pth fileInstalling manifestparser script to /home/jhammel/tmp/binInstalled/home/jhammel/tmp/lib/python2.7/site-packages/ManifestDestiny-0.5.4-py2.7.eggFinished processing dependencies for mozrunnerNote that all of the packages come from the k0s.org installation and not from http://pypi.python.org/.Running the TestsThe tests directory contains doctests and the test-runner, test.py . These tests illustrate basic functionality and protect from regressions if they are run before code is committed. tests-require.txt contains dependencies that should be installed to run the tests. Paste TestApp , though this could be transitioned to WebTest . virtualenv is used for isolating python environments.To run the tests, do:python test.pyProduct's homepage


SimPyPI Related Software