Notice: While JavaScript is not essential for this website, your interaction with the content will be limited. Please turn JavaScript on for the full experience.
...package (the package of which the current module is a submodule), the import statement looks for a top-level module with the given name. When packages are structured into subpackage (as with the Sound package in the example), there's no shortcut to refer to submodules of sibling packages - the full name of the subpackage must be used. For example, if the module Sound.Filters.vocoder needs to use the echo module in the Sound.Effects package, it can use from Sound.Effects import echo. ...
...Package Infrastructure Providers Package upgraders and package infrastructure in CI/CD such as Dependabot, PyUP, etc. currently support a few installers. They work by parsing and editing the installer-specific dependency files directly (such as requirements.txt or poetry.lock) with relevant package information such as upgrades, downgrades, or new hashes. Similar to Platform and IDE providers, most of these providers do not want to support N different Python package installers as that would requi...
...packages. Discoverability will hopefully be based on package popularity, like with Django packages for example. Third-party stubs have to be versioned using the lowest version of the source package that is compatible. Example: FooPackage has versions 1.0, 1.1, 1.2, 1.3, 2.0, 2.1, 2.2. There are API changes in versions 1.1, 2.0 and 2.2. The stub file package maintainer is free to release stubs for all versions but at least 1.0, 1.1, 2.0 and 2.2 are needed to enable the end user type check all...
...declaration syntax, the make statement. The proposed syntax and semantics parallel the syntax for class definition, and so: make <callable> <name> <tuple>: <block> is translated into the assignment: <name> = <callable>("<name>", <tuple>, <namespace>) where <namespace> is the dict created by executing <block>. This is mostly syntactic sugar for: class <name> <tuple>: __metaclass__ = <callable> &l...
...Package Source Distributions PEP:643 Title:Metadata for Package Source Distributions Author:Paul Moore <p.f.moore at gmail.com> BDFL-Delegate:Paul Ganssle <paul at ganssle.io> Discussions-To:https://discuss.python.org/t/pep-643-metadata-for-package-source-distributions/5577 Status:Final Type:Standards Track Created:24-Oct-2020 Post-History:24-Oct-2020, 01-Nov-2020, 02-Nov-2020, 14-Nov-2020 Resolution:https://discuss.python.org/t/pep-643-metadata-for-package-source-dist...
...packages are written with portability in mind. For many packages this means they aim to support a wide range of Python releases. If they depend on libraries such as argparse - which started as external libraries, but later got incorporated into core - specifying a single set of requirements is difficult, as the set of required packages differs depending on the version of Python in use. For other packages, designing for portability means supporting multiple operating systems. However, the signifi...
...Package Index [2], clarifying expectations of package owners regarding ownership of a package name on the Package Index, specifically with regards to conflict resolution. Existing package repositories such as CPAN [3], NPM [4], and GitHub [5] will be investigated as prior art in this field. Rationale Given that package names on the Index are sharing a single flat namespace, a unique name is a finite resource. The growing age of the Package Index causes a constant rise of situations of conflic...
...package installation tools (such as pip) to determine which extras are provided by a given package, and so that package publication tools (such as twine) can check for issues with environment markers which use extras. The full specification for this field is defined in the Core Metadata Specification. Changed in Version 2.1 Name The specification for the format of this field is now identical to the distribution name specification defined in PEP 508. Description In addition to the Descripti...
...packages). While we don't expect our students to write extension modules, the use of such modules makes it possible to spruce up their learning experience, and gives teachers an opportunity to tailor lessons to the interests of their students by providing them with guarded access to other software packages. (withdrawn) The fact that Python can be used to develop large applications plays into a different aspect of our vision: The development of open source application software ...
...package._name_._version_]] package._name_._version_.filename [package._name_._version_.hashes] package._name_._version_.url package._name_._version_.direct package._name_._version_.requires-python package._name_._version_.requires Example Expectations for Lockers Expectations for Installers (Potential) Tool Support Backwards Compatibility Transition Plan Usability Interoperability Acceptance Security Implications How to Teach This Reference Implementation Rejected Ideas File Formats Othe...
...package based on log4j and our own PEP 282; written by Vinay Sajip. (New in 2.3a2: warn/WARN renamed to warning/WARNING; logging module actually included in the Windows installer.) optparse - a powerful command line option parser, by Greg Ward (based on his Optik package). ossaudiodev - an interface to OSS (Open Sound System), the standard audio API for Linux and some BSD flavors. Code by Greg Ward, based on the (now deprecated) linuxaudiodev module by Peter Bosch. (New in 2.3a2: because of ...
...package without using setup.py. Rejection Notice As distutils2 is no longer going to be incorporated into the standard library, this PEP was rejected by Nick Coghlan in late April, 2013. A replacement PEP based on PEP 426 (metadata 2.0) will be created that defines the minimum amount of information needed to generate an sdist archive given a source tarball or VCS checkout. Rationale Today, if you want to list all the Metadata of a distribution (see PEP 314) that is not installed, you need to...
...packages.) Backward compatibility rules do not apply to any module or API that is explicitly documented as Provisional per PEP 411. Basic policy for backwards compatibility In general, incompatibilities should have a large benefit to breakage ratio, and the incompatibility should be easy to resolve in affected code. For example, adding an stdlib module with the same name as a third party package is generally not acceptable. Adding a method or attribute that conflicts with 3rd party code thr...
...Package Index (Cheese Shop) 7 Penguin Day DC 8 EuroPython 9 New PSF Members 10 Adjournment 1 Attendance The following members of the Board of Directors were present at the meeting: Stephan Deibel, Steve Holden, Tim Peters, Brett Cannon, Andrew Kuchling, and Martin von Löwis. Also in attendance was Kurt Kaiser (Treasurer). 2 Minutes of Past Meetings The 12 March 2007 Board meeting minutes w...
...package ends up on sys.path): import mypkg.sibling from mypkg import sibling from mypkg.sibling import example However, explicit relative imports are an acceptable alternative to absolute imports, especially when dealing with complex package layouts where using absolute imports would be unnecessarily verbose: from . import sibling from .sibling import example Standard library code should avoid complex package layouts and always use absolute imports. When importing a class from a class-conta...
...package, the XPath parser is built using the BisonGen [Fou00] generator. Incorporating this implementation into PyXML proved to be quite challenging. A detailed description of BisonGen is given later; however, the following obstacles should serve as a motivation for developing yet another XPath parser: Building 4XPath requires a number of prerequisite packages, namely BisonGen, PyXML, bison, flex, SWIG, and a C compiler. The PyXML prerequisite in particular causes a cyclic...
...package mechanisms, when sys.path is altered, tools like pkgutil.extend_path should be used to also modify other parts of the import state (in this case, package __path__ attributes). The path importer cache should also be invalidated when a variety of changes are made. The ImportEngine API will provide convenience methods that automatically make related import state updates as part of a single operation. Global variables importlib.engine.sysengine A precreated instance of GlobalImportEngine....
...packages (http://pip.readthedocs.org/en/stable/) [2]setuptools, the de facto Python package build system (https://pythonhosted.org/setuptools/) [3]flit, a simple way to put packages in PyPI (http://flit.readthedocs.org/en/latest/) [4]PyPI, the Python Package Index (https://pypi.python.org/) [5]Shellvars, an implementation of shell variable rules for Python. (https://github.com/testing-cabal/shellvars) [6]The kick-off thread. (https://mail.python.org/pipermail/distutils-s...
...packagers were added to support pkgtool on Solaris and swinstall on HP-UX. distutils now has a new abstract binary packager base class command/bdist_packager, which simplifies writing packagers. This will hopefully provide the missing bits to encourage people to submit more packagers, e.g. for Debian, FreeBSD and other systems. The UTF-16, -LE and -BE stream readers now raise a NotImplementedError for all calls to .readline(). Previously, they used to just produce garbage or fail with an encod...
...package can contain .pyc files with different optimizer tags. Install a package containing transformed .pyc files It will be possible to install a package which contains transformed .pyc files. All .pyc files with any optimizer tag contained in the package are installed, not only for the current optimizer tag. Build .pyc files when installing a package If a package does not contain any .pyc files of the current optimizer tag (or some .pyc files are missing), the .pyc are created during the i...