Mercurial > hg > simpypi
annotate README.txt @ 77:4415ba355f25
flush out README
author | Jeff Hammel <jhammel@mozilla.com> |
---|---|
date | Fri, 02 Mar 2012 16:03:37 -0800 |
parents | 5fbe4374bc8a |
children | d5c3fdceb718 |
rev | line source |
---|---|
0 | 1 simpypi |
33
058182b7b309
note test-requires.txt in the readme
Jeff Hammel <jhammel@mozilla.com>
parents:
0
diff
changeset
|
2 ======= |
0 | 3 |
75 | 4 Simple python package index |
5 | |
6 How simpypi works | |
7 ----------------- | |
8 | |
76 | 9 The heart of simpypi is ``simpypi.wsgi.SimPyPI``, a simple |
10 `WSGI <http://www.python.org/dev/peps/pep-0333/>`_ web app that | |
11 accepts a uploaded | |
12 `python package <http://guide.python-distribute.org/introduction.html>`_ | |
13 distribution and places it according to its name and version metadata | |
14 appropriate to the | |
15 `simple index protocol <http://guide.python-distribute.org/contributing.html#the-simple-index-protocol>`_ . | |
16 | |
17 For security, ``SimPyPI`` returns straight | |
18 `HTTP 400 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html>`_ s | |
77 | 19 for invalid requests. This could probably be improved. |
76 | 20 |
21 ``SimPyPI`` itself does not serve this directory. The directory | |
22 should be served by a fileserver that will generate directory indices | |
23 (as apprpropriate to | |
24 http://guide.python-distribute.org/contributing.html#the-simple-index-protocol | |
25 ) such as Apache or | |
26 `FileServer <http://pypi.python.org/pypi/FileServer>`_ . | |
77 | 27 ``simpypi.factory.factory`` does provide a factory to make a WSGI app |
28 that wraps ``FileServer`` in middleware and serves the simple index | |
29 under ``/index/`` and the ``SimPyPI`` app at ``/``. Additionally, a | |
30 ``simpypi`` command line program is provided that front-ends this. | |
76 | 31 |
75 | 32 Currently ``simpypi`` only works on source distributions (that is, |
33 packages made with ``python setup.py sdist``). | |
0 | 34 |
33
058182b7b309
note test-requires.txt in the readme
Jeff Hammel <jhammel@mozilla.com>
parents:
0
diff
changeset
|
35 Running the Tests |
058182b7b309
note test-requires.txt in the readme
Jeff Hammel <jhammel@mozilla.com>
parents:
0
diff
changeset
|
36 ----------------- |
058182b7b309
note test-requires.txt in the readme
Jeff Hammel <jhammel@mozilla.com>
parents:
0
diff
changeset
|
37 |
058182b7b309
note test-requires.txt in the readme
Jeff Hammel <jhammel@mozilla.com>
parents:
0
diff
changeset
|
38 ``tests-require.txt`` contains dependencies that should be installed |
058182b7b309
note test-requires.txt in the readme
Jeff Hammel <jhammel@mozilla.com>
parents:
0
diff
changeset
|
39 to run the tests. |
77 | 40 `Paste <http://pythonpaste.org/>`_ |
41 `TestApp <http://pythonpaste.org/testing-applications.html>`_ , | |
42 though this could be transitioned to | |
43 `WebTest <http://webtest.pythonpaste.org/en/latest/index.html>`_ . | |
44 `virtualenv <http://www.virtualenv.org/>`_ | |
45 is used for isolating python environments. | |
33
058182b7b309
note test-requires.txt in the readme
Jeff Hammel <jhammel@mozilla.com>
parents:
0
diff
changeset
|
46 |
39 | 47 TODO |
48 ---- | |
49 | |
75 | 50 While simpypi is pretty simple, just because it is only 100 lines of |
51 code doesn't mean that it is the *right* 100 lines of code. The | |
52 following issues could be addressed: | |
53 | |
54 * the temporary package should be dealt with entirely in memory, | |
55 ideally. Currently we write to a file and move it. | |
56 | |
57 * ``simpypi`` use ``pkginfo.sdist`` to read the data from a source | |
58 distribution. Instead, the uploaded package should probably be | |
59 unpacked and ``python setup.py sdist`` run and the resulting | |
60 package put in the appropriate place. This will allow archives | |
61 without ``PKG-INFO`` | |
62 (e.g. http://hg.mozilla.org/build/talos/archive/tip.tar.gz ) | |
63 to be uploaded as well as at least partially correct for the fact | |
64 that currently ``simpypi`` only works for uploaded source | |
65 distributions. | |
39 | 66 |
0 | 67 -- |
68 | |
33
058182b7b309
note test-requires.txt in the readme
Jeff Hammel <jhammel@mozilla.com>
parents:
0
diff
changeset
|
69 http://k0s.org/mozilla/hg/simpypi |