|
668 | 668 | "id": "13ff5249", |
669 | 669 | "metadata": {}, |
670 | 670 | "source": [ |
671 | | - "### Package name\n", |
| 671 | + "## Package name\n", |
672 | 672 | "\n", |
673 | 673 | "As seen in the file above, we observe that we do not need to specify alot in the project description.\n", |
674 | 674 | "We give the package a name, which should be reflected in `/src/pkg`. We use the source layout as it avoids some issues with a flat package structure, see [Python packaging guide](https://packaging.python.org/en/latest/discussions/src-layout-vs-flat-layout/) for more details.\n", |
675 | 675 | "\n", |
676 | | - "### Author list\n", |
| 676 | + "## Author list\n", |
677 | 677 | "\n", |
678 | 678 | "We create a list of authors with their name and email.\n" |
679 | 679 | ] |
|
692 | 692 | "id": "127f9e41", |
693 | 693 | "metadata": {}, |
694 | 694 | "source": [ |
695 | | - "### README\n", |
| 695 | + "## README\n", |
696 | 696 | "\n", |
697 | 697 | "A package should have a description. This should be placed in a README file. The string should contain the local path (relative to the `pyproject.toml` file) to the description file.\n" |
698 | 698 | ] |
|
717 | 717 | "cell_type": "markdown", |
718 | 718 | "id": "96749323", |
719 | 719 | "metadata": {}, |
| 720 | + "source": [] |
| 721 | + }, |
| 722 | + { |
| 723 | + "cell_type": "markdown", |
| 724 | + "metadata": {}, |
720 | 725 | "source": [ |
721 | | - "### Version\n", |
| 726 | + "## Version\n", |
722 | 727 | "\n", |
723 | 728 | "Given a version number `MAJOR.MINOR.PATCH`, increment the:\n", |
724 | 729 | "\n", |
|
734 | 739 | "id": "5676816a", |
735 | 740 | "metadata": {}, |
736 | 741 | "source": [ |
737 | | - "### Python versioning\n", |
| 742 | + "## Python versioning\n", |
738 | 743 | "\n", |
739 | 744 | "As Python evolves and introduces new features and deprecates versions, your software should do the same. Decide on a minimal requirement for Python (and in some cases a maximum version if a package you are using is not supporting the latest Python version).\n" |
740 | 745 | ] |
|
744 | 749 | "id": "79ce5039", |
745 | 750 | "metadata": {}, |
746 | 751 | "source": [ |
747 | | - "### Dependencies\n", |
| 752 | + "## Dependencies\n", |
748 | 753 | "\n", |
749 | 754 | "As our package might depend on external software, we create a list of packages such as `[\"numpy>=1.21\", \"sklearn==1.3.0\"]` etc.\n", |
750 | 755 | "These will be installed if not found on the system at the time of installation.\n" |
|
755 | 760 | "id": "c1046053", |
756 | 761 | "metadata": {}, |
757 | 762 | "source": [ |
758 | | - "### Optional dependencies\n", |
| 763 | + "## Optional dependencies\n", |
759 | 764 | "\n", |
760 | 765 | "Sometimes, we require dependencies for testing or development that are not requirements of the source code. We call these optional dependencies and list them as below\n" |
761 | 766 | ] |
|
896 | 901 | "name": "python", |
897 | 902 | "nbconvert_exporter": "python", |
898 | 903 | "pygments_lexer": "ipython3", |
899 | | - "version": "3.10.13" |
| 904 | + "version": "3.8.10" |
900 | 905 | }, |
901 | 906 | "widgets": { |
902 | 907 | "application/vnd.jupyter.widget-state+json": { |
|
0 commit comments