Loading CHANGELOG.md +1 −0 Original line number Diff line number Diff line Loading @@ -7,6 +7,7 @@ - Added support for Python 2.7. - Added a fallback mechanism (opt-in) for missing dependencies. - Added `search` command. - Added support for local files as dependencies. ### Changes Loading poetry/installation/pip_installer.py +4 −1 Original line number Diff line number Diff line Loading @@ -59,7 +59,7 @@ class PipInstaller(BaseInstaller): return self._venv.run('pip', *args, **kwargs) def requirement(self, package, formatted=False): if formatted and not package.source_type == 'git': if formatted and not package.source_type: req = '{}=={}'.format(package.name, package.version) for h in package.hashes: req += ' --hash sha256:{}'.format(h) Loading @@ -68,6 +68,9 @@ class PipInstaller(BaseInstaller): return req if package.source_type == 'file': return os.path.realpath(package.source_reference) if package.source_type == 'git': return 'git+{}@{}#egg={}'.format( package.source_url, Loading poetry/json/schemas/poetry-schema.json +38 −2 Original line number Diff line number Diff line Loading @@ -75,6 +75,9 @@ }, { "$ref": "#/definitions/git-dependency" }, { "$ref": "#/definitions/file-dependency" } ] } Loading @@ -95,6 +98,9 @@ }, { "$ref": "#/definitions/git-dependency" }, { "$ref": "#/definitions/file-dependency" } ] } Loading Loading @@ -157,7 +163,7 @@ }, "python": { "type": "string", "description": "The python versions for c=which the dependency should be installed." "description": "The python versions for which the dependency should be installed." }, "allows_prereleases": { "type": "boolean", Loading Loading @@ -200,7 +206,37 @@ }, "python": { "type": "string", "description": "The python versions for c=which the dependency should be installed." "description": "The python versions for which the dependency should be installed." }, "allows_prereleases": { "type": "boolean", "description": "Whether the dependency allows prereleases or not." }, "optional": { "type": "boolean", "description": "Whether the dependency is optional or not." }, "extras": { "type": "array", "description": "The required extras for this dependency.", "items": { "type": "string" } } } }, "file-dependency": { "type": "object", "required": ["file"], "additionalProperties": false, "properties": { "file": { "type": "string", "description": "The path to the file." }, "python": { "type": "string", "description": "The python versions for which the dependency should be installed." }, "allows_prereleases": { "type": "boolean", Loading poetry/masonry/builders/sdist.py +31 −9 Original line number Diff line number Diff line Loading @@ -43,7 +43,7 @@ setup(**setup_kwargs) PKG_INFO = """\ Metadata-Version: 1.1 Metadata-Version: 2.1 Name: {name} Version: {version} Summary: {summary} Loading Loading @@ -96,14 +96,7 @@ class SdistBuilder(Builder): tar_info.size = len(setup) tar.addfile(tar_info, BytesIO(setup)) pkg_info = encode(PKG_INFO.format( name=self._meta.name, version=self._meta.version, summary=self._meta.summary, home_page=self._meta.home_page, author=to_str(self._meta.author), author_email=to_str(self._meta.author_email), )) pkg_info = self.build_pkg_info() tar_info = tarfile.TarInfo(pjoin(tar_dir, 'PKG-INFO')) tar_info.size = len(pkg_info) Loading Loading @@ -172,6 +165,35 @@ class SdistBuilder(Builder): after='\n'.join(after) )) def build_pkg_info(self): pkg_info = PKG_INFO.format( name=self._meta.name, version=self._meta.version, summary=self._meta.summary, home_page=self._meta.home_page, author=to_str(self._meta.author), author_email=to_str(self._meta.author_email), ) if self._meta.keywords: pkg_info += "Keywords: {}\n".format(self._meta.keywords) if self._meta.requires_python: pkg_info += 'Requires-Python: {}\n'.format( self._meta.requires_python ) for classifier in self._meta.classifiers: pkg_info += 'Classifier: {}\n'.format(classifier) for extra in sorted(self._meta.provides_extra): pkg_info += 'Provides-Extra: {}\n'.format(extra) for dep in sorted(self._meta.requires_dist): pkg_info += 'Requires-Dist: {}\n'.format(dep) return encode(pkg_info) @classmethod def find_packages(cls, path): """ Loading poetry/packages/__init__.py +1 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ import re from poetry.version.requirements import Requirement from .dependency import Dependency from .file_dependency import FileDependency from .locker import Locker from .package import Package from .utils.link import Link Loading Loading
CHANGELOG.md +1 −0 Original line number Diff line number Diff line Loading @@ -7,6 +7,7 @@ - Added support for Python 2.7. - Added a fallback mechanism (opt-in) for missing dependencies. - Added `search` command. - Added support for local files as dependencies. ### Changes Loading
poetry/installation/pip_installer.py +4 −1 Original line number Diff line number Diff line Loading @@ -59,7 +59,7 @@ class PipInstaller(BaseInstaller): return self._venv.run('pip', *args, **kwargs) def requirement(self, package, formatted=False): if formatted and not package.source_type == 'git': if formatted and not package.source_type: req = '{}=={}'.format(package.name, package.version) for h in package.hashes: req += ' --hash sha256:{}'.format(h) Loading @@ -68,6 +68,9 @@ class PipInstaller(BaseInstaller): return req if package.source_type == 'file': return os.path.realpath(package.source_reference) if package.source_type == 'git': return 'git+{}@{}#egg={}'.format( package.source_url, Loading
poetry/json/schemas/poetry-schema.json +38 −2 Original line number Diff line number Diff line Loading @@ -75,6 +75,9 @@ }, { "$ref": "#/definitions/git-dependency" }, { "$ref": "#/definitions/file-dependency" } ] } Loading @@ -95,6 +98,9 @@ }, { "$ref": "#/definitions/git-dependency" }, { "$ref": "#/definitions/file-dependency" } ] } Loading Loading @@ -157,7 +163,7 @@ }, "python": { "type": "string", "description": "The python versions for c=which the dependency should be installed." "description": "The python versions for which the dependency should be installed." }, "allows_prereleases": { "type": "boolean", Loading Loading @@ -200,7 +206,37 @@ }, "python": { "type": "string", "description": "The python versions for c=which the dependency should be installed." "description": "The python versions for which the dependency should be installed." }, "allows_prereleases": { "type": "boolean", "description": "Whether the dependency allows prereleases or not." }, "optional": { "type": "boolean", "description": "Whether the dependency is optional or not." }, "extras": { "type": "array", "description": "The required extras for this dependency.", "items": { "type": "string" } } } }, "file-dependency": { "type": "object", "required": ["file"], "additionalProperties": false, "properties": { "file": { "type": "string", "description": "The path to the file." }, "python": { "type": "string", "description": "The python versions for which the dependency should be installed." }, "allows_prereleases": { "type": "boolean", Loading
poetry/masonry/builders/sdist.py +31 −9 Original line number Diff line number Diff line Loading @@ -43,7 +43,7 @@ setup(**setup_kwargs) PKG_INFO = """\ Metadata-Version: 1.1 Metadata-Version: 2.1 Name: {name} Version: {version} Summary: {summary} Loading Loading @@ -96,14 +96,7 @@ class SdistBuilder(Builder): tar_info.size = len(setup) tar.addfile(tar_info, BytesIO(setup)) pkg_info = encode(PKG_INFO.format( name=self._meta.name, version=self._meta.version, summary=self._meta.summary, home_page=self._meta.home_page, author=to_str(self._meta.author), author_email=to_str(self._meta.author_email), )) pkg_info = self.build_pkg_info() tar_info = tarfile.TarInfo(pjoin(tar_dir, 'PKG-INFO')) tar_info.size = len(pkg_info) Loading Loading @@ -172,6 +165,35 @@ class SdistBuilder(Builder): after='\n'.join(after) )) def build_pkg_info(self): pkg_info = PKG_INFO.format( name=self._meta.name, version=self._meta.version, summary=self._meta.summary, home_page=self._meta.home_page, author=to_str(self._meta.author), author_email=to_str(self._meta.author_email), ) if self._meta.keywords: pkg_info += "Keywords: {}\n".format(self._meta.keywords) if self._meta.requires_python: pkg_info += 'Requires-Python: {}\n'.format( self._meta.requires_python ) for classifier in self._meta.classifiers: pkg_info += 'Classifier: {}\n'.format(classifier) for extra in sorted(self._meta.provides_extra): pkg_info += 'Provides-Extra: {}\n'.format(extra) for dep in sorted(self._meta.requires_dist): pkg_info += 'Requires-Dist: {}\n'.format(dep) return encode(pkg_info) @classmethod def find_packages(cls, path): """ Loading
poetry/packages/__init__.py +1 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ import re from poetry.version.requirements import Requirement from .dependency import Dependency from .file_dependency import FileDependency from .locker import Locker from .package import Package from .utils.link import Link Loading