summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Implement PyPI screenscraping for EasyInstall. Fix a bug in requirementPJ Eby2005-06-054-125/+164
| | | | | | | | version checking. Document new options for screen scraping. --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041041
* Add "safe_name" and "safe_version" functions to allow sanitizing ofPJ Eby2005-06-053-31/+72
| | | | | | | | | distribution names and versions in arbitrary packages that might be built using EasyInstall. --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041040
* Partial support for autolocation of packages via link harvesting. StillPJ Eby2005-06-051-50/+173
| | | | | | | | | | | | | | needs a little work to get PyPI support working, and automatic dependency resolution. But for now you can do: easy_install -s http://example.com/download.html SomePackage And easy_install will find the best-looking download link on the page for instaling SomePackage. --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041039
* Make ``AvailableDistributions`` keep track of the desired platform/python.PJ Eby2005-06-052-35/+35
| | | | | | | | | | Add a ``can_add()`` method that indicates whether a distribution matches the collection's desired platform and Python version. Fix a bug in ``Distribution.from_filename()`` when the filename has no Python version. --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041038
* Updated for v0.3a4PJ Eby2005-06-051-5/+5
| | | | | | --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041037
* Add support for prioritized sorting of distributions by distribution type,PJ Eby2005-06-051-11/+11
| | | | | | | | to assist easy_install in indexing packages from PyPI. --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041036
* Fix a minor problem with -b option, and prep for 0.3a4 release.PJ Eby2005-06-043-5/+25
| | | | | | --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041035
* Add support for resource isdir/listdir operations. Support directoryPJ Eby2005-06-041-39/+119
| | | | | | | | | extraction and "egg baskets" for .zips. Add import locking for namespace package manipulation routines. --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041034
* Release 0.3a3PJ Eby2005-05-311-2/+2
| | | | | | --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041033
* Ditch outdated TODO file, move docs to a new 'EasyInstall.txt' file. FixPJ Eby2005-05-313-186/+274
| | | | | | | | installation report for .egg files/directories. --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041032
* Add option to allow specifying a download/extract/build directory, whichPJ Eby2005-05-301-27/+109
| | | | | | | | | | | | will be kept after installation completes. Added an "installation report" that tells you how to use 'require()' to activate a particular package version. Installer.install_eggs() now returns a list of Distribution objects for the eggs it found and installed, so that the command-line tool can print an installation report for each one. --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041031
* Ensure that the distribution name written to PKG-INFO is the same as thePJ Eby2005-05-301-2/+2
| | | | | | | | name you'll use in 'require()' operations for that distribution. --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041030
* Add setup script "sandboxing" -- abort a setup script if it tries to writePJ Eby2005-05-301-8/+172
| | | | | | | | | | to the filesystem outside of the installer's temporary directory. This is accomplished by temporarily replacing 'os.*' functions and the 'open' builtin with path-validation wrappers. --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041029
* Reorganize bdist_egg's handling of 'install_data' to better deal with thePJ Eby2005-05-301-10/+51
| | | | | | | | | | | | | | | | | | | | various kludges legacy packages are using to install data in their package directories. Some use absolute paths in 'distribution.data_files', while others create various subclasses of 'install_data', each with their own way of finding out what directory to use! So 'bdist_egg' now does all its 'install_lib' activity before 'install_data', and pokes the desired build directory into a wide variety of places, so that all of the known kludges so far will work correctly. It also checks for absolute paths in 'data_files' (carefully working around other packages' 'data_files' kludges!) and converts them back to relative ones, if they are subpaths of site-packages. Clearly, we need to get the word out about 'package_files' in Python 2.4 and above, and suggest using 'setuptools' for Python 2.3. --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041028
* Add SourceForge download support, graciously contributed by Ian Bicking.PJ Eby2005-05-301-15/+56
| | | | | | | | Also, move some more imports to the top. --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041027
* Bump version to 0.3a2 for releasePJ Eby2005-05-291-1/+1
| | | | | | --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041026
* Add subversion support, loosely based on an implementation by Ian Bicking.PJ Eby2005-05-291-35/+76
| | | | | | | | | | | EasyInstall now recognizes both 'svn' URLs (including 'svn+ssh' et al), and notices when it connects to an HTTP server that's actually a subversion repository. In either case it does a subversion checkout of the package. Also, fixed a bug on platforms with os.samefile(). --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041025
* Added options to alter eggs' version number by tagging with the subversionPJ Eby2005-05-291-48/+48
| | | | | | | | | revision number, date, and/or a custom tag. This should make it easier for people to produce e.g. automated nightly builds of eggs. --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041024
* Add support for using Installer subclasses, especially ones with supportPJ Eby2005-05-291-8/+8
| | | | | | | | for searching a package database. --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041023
* Oddly enough, some setup.py files actually check __name__=='__main__'PJ Eby2005-05-291-8/+8
| | | | | | --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041022
* Correctly recognize .egg files that are already on sys.path (or whateverPJ Eby2005-05-291-7/+9
| | | | | | | | path AvailableDistributions is scanning) --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041021
* Handle distributions with ' ' in their namesPJ Eby2005-05-291-1/+1
| | | | | | --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041020
* Add link to Python Eggs page in doc; fix a problem with non-standard sourcePJ Eby2005-05-291-4/+4
| | | | | | | | distros (where setup.py is in the archive root). --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041019
* Remove exemaker spew from easy_install.pyPJ Eby2005-05-291-3/+0
| | | | | | --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041018
* Add "easy_install" script that downloads distutils source (or .egg files)PJ Eby2005-05-293-10/+547
| | | | | | | | | | | | | | and builds and installs them as eggs, with support for managing .pth files. Built distributions are installed in individual subdirectories, so you can either add the directory to a .pth (automatically done by default), or you can use pkg_resources.require() to manage your dependencies explicitly. Because each distribution is in its own directory (or .egg file), uninstallation and clean upgrades are trivial, without the aid of any sort of package manager. --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041017
* Add experimental 'install_data' support to 'bdist_egg'. The most commonPJ Eby2005-05-281-26/+26
| | | | | | | | | | | distutils custom command hack in the field is to make 'install_data' put data in with the target packages by changing the --install-data to match --install-lib, so this should let bdist_egg work with more packages "out of the box". --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041016
* Fix some typos and a missing importPJ Eby2005-05-251-9/+9
| | | | | | --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041015
* Implement draft support for namespace packages, both declaring themPJ Eby2005-05-251-18/+141
| | | | | | | | | | | | initially and fixing them up when new eggs are added to sys.path. At the moment, all namespace packages are fixed up whenever any new egg is added to sys.path, but this might not scale well if there are lots of eggs and lots of namespace packages. Perhaps we should limit namespace fixups to namespace packages explicitly declared in the egg? --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041014
* Support registering distribution finders for arbitrary PEP 302 importerPJ Eby2005-05-251-5/+128
| | | | | | | | types, so that the directory scanner isn't a hardcoded case. --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041013
* Implement a draft version of 'find_distributions()' with hardcoded supportPJ Eby2005-05-241-77/+118
| | | | | | | | | | | | | | for packed and unpacked .egg files and .egg-info dirs. This will need to be refactored later to support registering adapters for arbitrary PEP 302 importers, so that it can deal with non-filesystem sys.path entries. In the meantime, however, this means that 'require()' now works and that intrepid souls may now witness the power of this fully operational battle station... --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041012
* Make AvailableDistributions check distributions for Python versionPJ Eby2005-05-231-25/+25
| | | | | | | | | compatibility as well as platform compatibility. Rename get_distro_source to 'find_distributions', and get rid of intermediate distro-source objects. --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041011
* Add a rough draft of Distribution.install_on(), to let others experimentPJ Eby2005-05-231-6/+6
| | | | | | | | with 'require()' before the "official" version is complete. --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041010
* Add tests for AvailableDistributions().resolve(). This effectivelyPJ Eby2005-05-232-6/+47
| | | | | | | | | | | | completes the core dependency resolution engine; all we need now is a way to turn sys.path entries into "distribution sources" that can list Distribution objects for inclusion in an instance of AvailableDistributions, and the 'require("SomePkg>=2.7")' API will be usable. --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041009
* Added support for specifying options on requirements, so that a package'sPJ Eby2005-05-222-44/+167
| | | | | | | | | optional dependencies can be included when processing nested dependencies. Next up: tests for the resolve() algorithm. --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041008
* Distribution metadata parsing: distribution objects can now extract theirPJ Eby2005-05-222-96/+208
| | | | | | | | | version from PKG-INFO and their dependencies from depends.txt, including optional dependencies. --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041007
* Refine dependency resolution algorithm so it won't take exponential time,PJ Eby2005-05-222-68/+202
| | | | | | | | | | | | or bomb on cyclic dependencies. (But it's still an untested sketch.) Added list of things that need to be implemented before dependency resolution can actually work. Added tests for lower-level parts of the dependency resolution system, and a hook to support subclasses doing automatic download of needed dependencies. --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041006
* Add basic "Requirement" class that can tell whether a distribution orPJ Eby2005-05-212-16/+98
| | | | | | | | version meets its version requirements. --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041005
* Added "AvailableDistributions" class that finds and indexes usablePJ Eby2005-04-033-91/+213
| | | | | | | | | | | | | distributions; this replaces the previous "iter_distributions()" API. Added basic platform support to Distribution and AvailableDistributions so that platform-independent distros as well as local platform-compatible distros are acceptable. The actual platform scheme is currently delegated to distutils.util.get_platform(), but needs to be replaced with a better scheme of some kind, especially for OS X. --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041004
* Remove setuptools_boot.py, as it can now be trivially replaced by includingPJ Eby2005-04-032-124/+1
| | | | | | | | | a setuptools .egg file in your source distribution, and adding it to sys.path in your setup.py. --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041003
* Fix handling of -/_ so that they are canonicalized to '-' when doing namePJ Eby2005-04-032-5/+6
| | | | | | | | or version comparisons, but rendered as '_' in egg filenames. --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041002
* Add a "Distribution" object that wraps a sys.path entry with metadata, andPJ Eby2005-04-032-13/+168
| | | | | | | | | | | can extract its name/version/pythonversion/platform if built from a .egg filename. Later, distributions will be able to add themselves to sys.path and request that their dependencies be added as well. Also, added some real-life version test cases supplied by jemfinch. --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041001
* Add a simple version parser that combines the pre-release smarts ofPJ Eby2005-04-022-3/+102
| | | | | | | | | | distutils' StrictVersion, with the flexibility of LooseVersion. It also deals heuristically with common concepts like alpha/beta/candidate/rc and pre/preview, as well as '-' and 'pl' branching schemes. --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041000
* Rough draft of version requirement parser. Make bdist_egg look for aPJ Eby2005-04-024-119/+399
| | | | | | | | | | | | distname.egg-info directory instead of EGG-INFO.in; this will be used later to support development of egg-distributed packages that an application under development expects to 'require()'. (Thanks to Fred Drake for pointing out this use case, and Bob Ippolito for helping me figure out how to support it, although the runtime support doesn't actually exist yet.) --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4040999
* Back out the addition of bogus 'if __name__=="__main__"' block; the OnePJ Eby2005-04-011-79/+174
| | | | | | | | | Obvious Way to test setuptools is to run 'setup.py test', because that also provides an integration test for the 'test' command. --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4040998
* Specify and implement # comments in get_metadata_linesBob Ippolito2005-03-241-7/+12
| | | | | | | | A few more PEP 8 formatting fixes for pkg_resources --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4040997
* import StringIO at module levelBob Ippolito2005-03-241-1/+4
| | | | | | --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4040996
* Reformat pkg_resources in PEP 8 styleBob Ippolito2005-03-241-182/+91
| | | | | | --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4040995
* Add a working pkg_resources implementation that handles extraction andPJ Eby2005-03-232-1/+493
| | | | | | | | | | basic support for non-egg resources. Still a lot to do, but this version is capable of not only extracting and running C extensions, it can even find its own runtime (pkg_resources) if it's included in the egg. --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4040994
* Fix bootstrap loader so extracted files don't have to be on sys.path.PJ Eby2005-03-221-2/+2
| | | | | | --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4040993
* Create stub loaders for C extensions, so that the actual dynamic libraryPJ Eby2005-03-221-5/+49
| | | | | | | | can be extracted from the egg. --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4040992