Skip to content

KOLANICH-research/python_packaging_review

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python packaging ecosystem entities review

graph TD;

	package_name --> requirement;
	specifier --> requirement;
	marker --> requirement;
	direct_url --> requirement;

	requirement --> distribution_metadata;
	version --> specifier;

	package_name --> pep621;
	version --> pep621;
	entry_points --> pep621;
	pep621 --> sdist;
	sdist --> wheel;
	wheel_metadata --> wheel;


	wheel_tag --> wheel_filename;
	package_name --> wheel_filename;
	version --> wheel_filename;
	wheel_filename --> wheel;

	package_name --> sdist_filename;
	version --> sdist_filename;

	marker --> wheel_tag;

	wheel_tag --> wheel_metadata;
	pep621 --> wheel_metadata;

	distribution --> installation;

	package_name --> distribution_metadata;
	version --> distribution_metadata;

	distribution_metadata --> dist-info;
	distribution_record --> dist-info;
	entry_points --> dist-info;
	wheel_metadata --> dist-info;
	direct_url --> dist-info;

	dist-info --> distribution;
	resource --> distribution;
	module_path --> distribution;

	distribution --> wheel;
	package_name --> module_path;
	module_path --> entry_points;
	sdist_manifest --> sdist;
	sdist --> sdist_archive;
	sdist_filename --> sdist_archive;

	sdist --> index;
	wheel --> index;
	entry_points --> script;

	requirement --> locator;
	locator --> index;
Loading

(chart.dot is the version for GraphViz. Unfortunately GitHub doesn't support it yet.)

For see the glossary for

  • the descriptions of the entities and their capabilities;
  • references to PEPs where they are defined (https://peps.python.org/pep-<pep_number>/);
  • references to PyPA documents where they are defined (https://packaging.python.org/en/latest/specifications/<spec_name>/).

compact_matrix.tsv shows how well different libs support various entities involved into Python packaging:

  • ✅ - mostly implemented
  • ⚠ - somehow implemented
  • ❌ - mostly unimplemented
  • ? - yet to be determined

full_matrix.tsv shows the support of subfeatures in tools:

  • ✅ - implemented
  • ⚠ - implemented, but so poorly, that one is better to use something else
  • ❌ - unimplemented
  • ? - yet to be determined

About

A review and cheatsheet around entities and libraries to deal with entities related to packaging for Python programming language

Resources

License

Code of conduct

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors