summaryrefslogtreecommitdiff
path: root/docs/roadmap.txt
diff options
context:
space:
mode:
Diffstat (limited to 'docs/roadmap.txt')
-rw-r--r--docs/roadmap.txt86
1 files changed, 86 insertions, 0 deletions
diff --git a/docs/roadmap.txt b/docs/roadmap.txt
new file mode 100644
index 00000000..e97ab57d
--- /dev/null
+++ b/docs/roadmap.txt
@@ -0,0 +1,86 @@
+=======
+Roadmap
+=======
+
+Distribute has two branches:
+
+- 0.6.x : provides a Setuptools-0.6c9 compatible version
+- 0.7.x : will provide a refactoring
+
+0.6.x
+=====
+
+Not "much" is going to happen here, we want this branch to be helpful
+to the community *today* by addressing the 40-or-so bugs
+that were found in Setuptools and never fixed. This is eventually
+happen soon because its development is
+fast : there are up to 5 commiters that are working on it very often
+(and the number grows weekly.)
+
+The biggest issue with this branch is that it is providing the same
+packages and modules setuptools does, and this
+requires some bootstrapping work where we make sure once Distribute is
+installed, all Distribution that requires Setuptools
+will continue to work. This is done by faking the metadata of
+Setuptools 0.6c9. That's the only way we found to do this.
+
+There's one major thing though: thanks to the work of Lennart, Alex,
+Martin, this branch supports Python 3,
+which is great to have to speed up Py3 adoption.
+
+The goal of the 0.6.x is to remove as much bugs as we can, and try if
+possible to remove the patches done
+on Distutils. We will support 0.6.x maintenance for years and we will
+promote its usage everywhere instead of
+Setuptools.
+
+Some new commands are added there, when they are helpful and don't
+interact with the rest. I am thinking
+about "upload_docs" that let you upload documentation to PyPI. The
+goal is to move it to Distutils
+at some point, if the documentation feature of PyPI stays and starts to be used.
+
+0.7.x
+=====
+
+We've started to refactor Distribute with this roadmap in mind (and
+no, as someone said, it's not vaporware,
+we've done a lot already)
+
+- 0.7.x can be installed and used with 0.6.x
+
+- easy_install is going to be deprecated ! use Pip !
+
+- the version system will be deprecated, in favor of the one in Distutils
+
+- no more Distutils monkey-patch that happens once you use the code
+ (things like 'from distutils import cmd; cmd.Command = CustomCommand')
+
+- no more custom site.py (that is: if something misses in Python's
+ site.py we'll add it there instead of patching it)
+
+- no more namespaced packages system, if PEP 381 (namespaces package
+ support) makes it to 2.7
+
+- The code is splitted in many packages and might be distributed under
+ several distributions.
+
+ - distribute.resources: that's the old pkg_resources, but
+ reorganized in clean, pep-8 modules. This package will
+ only contain the query APIs and will focus on being PEP 376
+ compatible. We will promote its usage and see if Pip wants
+ to use it as a basis.
+ It will probably shrink a lot though, once the stdlib provides PEP 376 support.
+
+ - distribute.entrypoints: that's the old pkg_resources entry points
+ system, but on its own. it uses distribute.resources
+
+ - distribute.index: that's package_index and a few other things.
+ everything required to interact with PyPI. We will promote
+ its usage and see if Pip wants to use it as a basis.
+
+ - distribute.core (might be renamed to main): that's everything
+ else, and uses the other packages.
+
+Goal: A first release before (or when) Python 2.7 / 3.2 is out.
+