===== 前提条件 =====
PyPIにアカウントを作成している事が必要\\
未作成の場合はPyPIの[[アカウント登録のやり方]]を参照
このパッケージを登録したときの情報\\
nLoggong [[https://pypi.org/project/nlogging/]]
===== 事前準備 =====
まずは以下のような構成で各種ファイルを配置する
ソースコード等はgithubで公開しているのでそちらを参照\\
[[https://github.com/noradoglabo/nLogging|https://github.com/noradoglabo/nLogging(nlogging source code)]]
working_dir
├ nLogging
│ ├ __init__.py パッケージ初期化用の処理を記述
│ └ nlogging.py ライブラリ本体
├ exsample
│ └ sample.py サンプルコード
├ LICENSE ライセンスファイル(githubで生成可能)
├ pyproject.toml パッケージ作成のための設定ファイル
└ README.md markdownにて記述
以下、パッケージの作成と登録に関する内容を記載していく
==== __init__.py ====
もっと大掛かりなパッケージを作成する場合に必要なのかもしれないが、現状は何も書いていない
==== pyproject.toml ====
[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
[project]
name = "nlogging"
version = "0.1.0"
description = "A Simple logging Liblary."
readme = "README.md"
requires-python = ">=3.8"
license = {file = "LICENSE"}
authors = [
{name = "matsutaka", email = "dog@norageek.co.jp"}
]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Programming Language :: Python :: 3",
"Topic :: System :: Logging",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: Utilities",
]
dependencies = [
]
[project.urls]
Repository = "https://github.com/noradoglabo/nLogging.git"
[tool.setuptools]
package-dir = {"" = "nlogging"}
詳細等、理解不足の事項があるのが今後の課題(特に%%[build-system]%%の部分)
===== パッケージ作成とPyPI登録に必要なパッケージの準備 =====
下記パッケージのインストール(インストール済みの場合はバージョンアップ)を行う
必要パッケージ
* build
* twine
python -m pip install --upgrade build
python -m pip install --upgrade twine
===== パッケージのビルド =====
"pyproject.toml"と同じ階層のディレクトリーにてビルドを行う
python -m build
===== テスト用(Test PyPI)への登録 =====
python -m twine upload --repository pypitest dist/*
正常にアップロードが出来れば登録されたURLが表示されるのでWebサイトを内容を確認し、実際にインストールも行い動作を確認
pip install -i https://test.pypi.org/simple/ nlogging
問題無ければいったん削除(後ほど正式版をインストールして再確認)
pip uninstall nlogging
===== 正式版(PyPI)の登録 =====
Test版と同様に、今度は正式プロジェクトとして登録
python -m twine upload dist/*
Test版と同様、正常終了すれば登録されたURLが表示される。念のためインストールを行い動作を確認\\
(正常終了した時点で一般公開されている)
pip install nlogging