def __init__( self, project, version="0.1.0", description="", readme_format="md", author=None, license=None, python="*", dependencies=None, dev_dependencies=None, ): self._project = project self._package_name = module_name(project) self._version = version self._description = description self._readme_format = readme_format self._license = license self._python = python self._dependencies = dependencies or {} if dev_dependencies is None: dev_dependencies = {"pytest": "^3.5"} self._dev_dependencies = dev_dependencies if not author: author = "Your Name <*****@*****.**>" self._author = author
def __init__( self, project, version="0.1.0", description="", readme_format="md", author=None, license=None, python="*", dependencies=None, dev_dependencies=None, ): self._project = project self._package_name = module_name(project) self._version = version self._description = description self._readme_format = readme_format self._license = license self._python = python self._dependencies = dependencies or {} self._dev_dependencies = dev_dependencies or {"pytest": "^3.5"} if not author: author = "Your Name <*****@*****.**>" self._author = author
def __init__(self, name, directory="."): self._name = module_name(name) self._in_src = False # It must exist either as a .py file or a directory, but not both pkg_dir = Path(directory, self._name) py_file = Path(directory, self._name + ".py") if pkg_dir.is_dir() and py_file.is_file(): raise ValueError("Both {} and {} exist".format(pkg_dir, py_file)) elif pkg_dir.is_dir(): self._path = pkg_dir self._is_package = True elif py_file.is_file(): self._path = py_file self._is_package = False else: # Searching for a src module src_pkg_dir = Path(directory, "src", self._name) src_py_file = Path(directory, "src", self._name + ".py") if src_pkg_dir.is_dir() and src_py_file.is_file(): raise ValueError("Both {} and {} exist".format( pkg_dir, py_file)) elif src_pkg_dir.is_dir(): self._in_src = True self._path = src_pkg_dir self._is_package = True elif src_py_file.is_file(): self._in_src = True self._path = src_py_file self._is_package = False else: raise ValueError( "No file/folder found for package {}".format(name))
def __init__( self, project, # type: str version="0.1.0", # type: str description="", # type: str readme_format="md", # type: str author=None, # type: Optional[str] license=None, # type: Optional[str] python="*", # type: str dependencies=None, # type: Optional[Dict[str, str]] dev_dependencies=None, # type: Optional[Dict[str, str]] ): self._project = project self._package_name = module_name(project) self._version = version self._description = description self._readme_format = readme_format self._license = license self._python = python self._dependencies = dependencies or {} self._dev_dependencies = dev_dependencies or {} if not author: author = "Your Name <*****@*****.**>" self._author = author
def __init__( self, project: str, version: str = "0.1.0", description: str = "", readme_format: str = "md", author: Optional[str] = None, license: Optional[str] = None, python: str = "*", dependencies: Optional[Dict[str, str]] = None, dev_dependencies: Optional[Dict[str, str]] = None, ): self._project = project self._package_name = module_name(project) self._version = version self._description = description self._readme_format = readme_format self._license = license self._python = python self._dependencies = dependencies or {} self._dev_dependencies = dev_dependencies or {} if not author: author = "Your Name <*****@*****.**>" self._author = author
def __init__( self, project: str, version: str = "0.1.0", description: str = "", readme_format: str = "md", author: str | None = None, license: str | None = None, python: str = "*", dependencies: dict[str, str | Mapping[str, Any]] | None = None, dev_dependencies: dict[str, str | Mapping[str, Any]] | None = None, ) -> None: self._project = canonicalize_name(project).replace(".", "-") self._package_path_relative = Path( *(module_name(part) for part in canonicalize_name(project).split("."))) self._package_name = ".".join(self._package_path_relative.parts) self._version = version self._description = description self._readme_format = readme_format.lower() self._license = license self._python = python self._dependencies = dependencies or {} self._dev_dependencies = dev_dependencies or {} if not author: author = "Your Name <*****@*****.**>" self._author = author
def __init__( self, project: str, version: str = "0.1.0", description: str = "", readme_format: str = "md", author: Optional[str] = None, license: Optional[str] = None, # noqa python: str = "*", dependencies: Optional[Dict[str, str]] = None, dev_dependencies: Optional[Dict[str, str]] = None, ): self._project = canonicalize_name(project).replace(".", "-") self._package_path_relative = Path( *(module_name(part) for part in canonicalize_name(project).split("."))) self._package_name = ".".join(self._package_path_relative.parts) self._version = version self._description = description self._readme_format = readme_format.lower() if self._readme_format not in self.ACCEPTED_README_FORMATS: raise ValueError( "Invalid readme format '{}', use one of {}.".format( readme_format, ", ".join(self.ACCEPTED_README_FORMATS))) self._license = license self._python = python self._dependencies = dependencies or {} self._dev_dependencies = dev_dependencies or {} if not author: author = "Your Name <*****@*****.**>" self._author = author
def __init__(self, name, directory=".", packages=None, includes=None): self._name = module_name(name) self._in_src = False self._is_package = False self._path = Path(directory) self._includes = [] packages = packages or [] includes = includes or [] if not packages: # It must exist either as a .py file or a directory, but not both pkg_dir = Path(directory, self._name) py_file = Path(directory, self._name + ".py") if pkg_dir.is_dir() and py_file.is_file(): raise ValueError("Both {} and {} exist".format( pkg_dir, py_file)) elif pkg_dir.is_dir(): packages = [{"include": str(pkg_dir.relative_to(self._path))}] elif py_file.is_file(): packages = [{"include": str(py_file.relative_to(self._path))}] else: # Searching for a src module src = Path(directory, "src") src_pkg_dir = src / self._name src_py_file = src / (self._name + ".py") if src_pkg_dir.is_dir() and src_py_file.is_file(): raise ValueError("Both {} and {} exist".format( pkg_dir, py_file)) elif src_pkg_dir.is_dir(): packages = [{ "include": str(src_pkg_dir.relative_to(src)), "from": str(src.relative_to(self._path)), }] elif src_py_file.is_file(): packages = [{ "include": str(src_py_file.relative_to(src)), "from": str(src.relative_to(self._path)), }] else: raise ModuleOrPackageNotFound( "No file/folder found for package {}".format(name)) for package in packages: formats = package.get("format") if formats and not isinstance(formats, list): formats = [formats] self._includes.append( PackageInclude( self._path, package["include"], formats=formats, source=package.get("from"), )) for include in includes: self._includes.append(Include(self._path, include))
def handle(self): from pathlib import Path from poetry.core.semver import parse_constraint from poetry.core.vcs.git import GitConfig from poetry.layouts import layout from poetry.utils.env import SystemEnv if self.option("src"): layout_ = layout("src") else: layout_ = layout("standard") path = Path.cwd() / Path(self.argument("path")) name = self.option("name") if not name: name = path.name if path.exists(): if list(path.glob("*")): # Directory is not empty. Aborting. raise RuntimeError("Destination <fg=yellow>{}</> " "exists and is not empty".format(path)) readme_format = "rst" config = GitConfig() author = None if config.get("user.name"): author = config["user.name"] author_email = config.get("user.email") if author_email: author += " <{}>".format(author_email) current_env = SystemEnv(Path(sys.executable)) default_python = "^{}".format(".".join( str(v) for v in current_env.version_info[:2])) dev_dependencies = {} python_constraint = parse_constraint(default_python) if parse_constraint("<3.5").allows_any(python_constraint): dev_dependencies["pytest"] = "^4.6" if parse_constraint(">=3.5").allows_all(python_constraint): dev_dependencies["pytest"] = "^5.2" layout_ = layout_( name, "0.1.0", author=author, readme_format=readme_format, python=default_python, dev_dependencies=dev_dependencies, ) layout_.create(path) self.line("Created package <info>{}</> in <fg=blue>{}</>".format( module_name(name), path.relative_to(Path.cwd())))
def __init__(self, name, directory=".", packages=None, includes=None): self._name = module_name(name) self._in_src = False self._is_package = False self._path = Path(directory) self._includes = [] packages = packages or [] includes = includes or [] if not packages: # It must exist either as a .py file or a directory, but not both pkg_dir = Path(directory, self._name) py_file = Path(directory, self._name + ".py") if pkg_dir.is_dir() and py_file.is_file(): raise ValueError("Both {} and {} exist".format(pkg_dir, py_file)) elif pkg_dir.is_dir(): packages = [{"include": str(pkg_dir.relative_to(self._path))}] elif py_file.is_file(): packages = [{"include": str(py_file.relative_to(self._path))}] else: # Searching for a src module src = Path(directory, "src") src_pkg_dir = src / self._name src_py_file = src / (self._name + ".py") if src_pkg_dir.is_dir() and src_py_file.is_file(): raise ValueError("Both {} and {} exist".format(pkg_dir, py_file)) elif src_pkg_dir.is_dir(): packages = [ { "include": str(src_pkg_dir.relative_to(src)), "from": str(src.relative_to(self._path)), } ] elif src_py_file.is_file(): packages = [ { "include": str(src_py_file.relative_to(src)), "from": str(src.relative_to(self._path)), } ] else: raise ValueError("No file/folder found for package {}".format(name)) for package in packages: self._includes.append( PackageInclude(self._path, package["include"], package.get("from")) ) for include in includes: self._includes.append(Include(self._path, include))
def __init__(self, name, directory='.'): self._name = module_name(name) # It must exist either as a .py file or a directory, but not both pkg_dir = Path(directory, self._name) py_file = Path(directory, self._name + '.py') if pkg_dir.is_dir() and py_file.is_file(): raise ValueError("Both {} and {} exist".format(pkg_dir, py_file)) elif pkg_dir.is_dir(): self._path = pkg_dir self._is_package = True elif py_file.is_file(): self._path = py_file self._is_package = False else: raise ValueError("No file/folder found for package {}".format(name))
def __init__(self, project, version='0.1.0', readme_format='md', author=None): self._project = project self._package_name = module_name(project) self._version = version self._readme_format = readme_format self._dependencies = {} self._dev_dependencies = {} self._include = [] self._git = Git() git_config = self._git.config if not author: if (git_config.get('user.name') and git_config.get('user.email')): author = u'{} <{}>'.format(git_config['user.name'], git_config['user.email']) else: author = 'Your Name <*****@*****.**>' self._author = author
def __init__(self, project, version='0.1.0', description='', readme_format='md', author=None, license=None, python='*', dependencies=None, dev_dependencies=None): self._project = project self._package_name = module_name(project) self._version = version self._description = description self._readme_format = readme_format self._license = license self._python = python self._dependencies = dependencies or {} self._dev_dependencies = dev_dependencies or {'pytest': '^3.5'} if not author: author = 'Your Name <*****@*****.**>' self._author = author