# annofab-3dpc-editor-cli
Annofabの3次元プロジェクトを操作するためのCLIです。
[![Build Status](https://app.travis-ci.com/kurusugawa-computer/annofab-3dpc-editor-cli.svg?branch=master)](https://app.travis-ci.com/kurusugawa-computer/annofab-3dpc-editor-cli)
[![PyPI version](https://badge.fury.io/py/annofab-3dpc-editor-cli.svg)](https://badge.fury.io/py/annofab-3dpc-editor-cli)
[![Python Versions](https://img.shields.io/pypi/pyversions/annofab-3dpc-editor-cli.svg)](https://pypi.org/project/annofab-3dpc-editor-cli)
[![Documentation Status](https://readthedocs.org/projects/annofab-3dpc-editor-cli/badge/?version=latest)](https://annofab-3dpc-editor-cli.readthedocs.io/ja/latest/?badge=latest)
## Install
```
$ pip install annofab-3dpc-editor-cli
```
## コマンドサンプル
https://annofab-3dpc-editor-cli.readthedocs.io/ja/latest/user_guide/command_sample.html 参照
### バージョンの確認方法
```
$ anno3d version
annofab-3dpc-editor-cli 0.2.2a1
```
--------------
## 開発環境
* poetry
* Poetry version 1.8.3
* python 3.12
### 開発環境初期化
poetryのインストール手順は、このファイル下部の`poetryのインストール手順`を参照
```
poetry install
```
## poetryのインストール手順
poetryのインストール手順一例を以下に示す
2020/05/21 ubuntu 18.04 にて確認
### pyenv
システムにpython 3.12を直接インストールして使うなら`pyenv`は要らない
#### 前提ライブラリなどのインストール
<details>
<summary>ubuntu 22.04の場合</summary>
```
sudo apt-get update
sudo apt-get install make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev python3-openssl
```
</details>
<details>
<summary>ubuntu 18.04の場合</summary>
```
sudo apt-get update
sudo apt-get install build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev python-openssl git
```
</details>
#### pyenvとpythonのインストール
```
curl https://pyenv.run | bash
```
コンソールに、以下のような設定すべき内容が出力されるので`.bashrc`などに設定
```
export PATH="/home/vagrant/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
```
```
pyenv install 3.12.4
pyenv global 3.12.4
```
### pipx
直接 poetry をインストールするなら要らない
```
python -m pip install --user pipx
python -m pipx ensurepath
```
completionを効かせたいときは、`pipx completions` の実行結果に従って設定する
```
$ pipx completions
Add the appropriate command to your shell's config file
so that it is run on startup. You will likely have to restart
or re-login for the autocompletion to start working.
bash:
eval "$(register-python-argcomplete pipx)"
zsh:
To activate completions for zsh you need to have
bashcompinit enabled in zsh:
autoload -U bashcompinit
bashcompinit
Afterwards you can enable completion for pipx:
eval "$(register-python-argcomplete pipx)"
tcsh:
eval `register-python-argcomplete --shell tcsh pipx`
fish:
register-python-argcomplete --shell fish pipx | .
```
### poetry
```
pipx install poetry
poetry completions bash | sudo tee /etc/bash_completion.d/poetry.bash-completion
```
## PyPIへの公開
[GitHubのReleases](https://github.com/kurusugawa-computer/annofab-3dpc-editor-cli/releases)からリリースを作成してください。
GitHub Actionsにより自動でPyPIに公開されます。
バージョン情報は、`poetry build`時に[poetry-dynamic-versioning](https://github.com/mtkennerly/poetry-dynamic-versioning)によって、Gitのバージョンタグから生成されます。
手動でPyPIに公開する場合は、以下のコマンドを実行してください。
```
# VSCode Dev Containersでは、`/usr/local/lib/python3.12/dist-packages/`にインストールしようとするため、`sudo`で実行する必要があります。
$ sudo poetry self add "poetry-dynamic-versioning[plugin]@1.4.0"
$ make publish
```
Raw data
{
"_id": null,
"home_page": "https://github.com/kurusugawa-computer/annofab-3dpc-editor-cli",
"name": "annofab-3dpc-editor-cli",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.9",
"maintainer_email": null,
"keywords": null,
"author": "Kurusugawa Computer Inc.",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/50/cc/b2863fcc7a76f4b9ff22e7fe635831a92d5a8c647676d9c19648e0328a1a/annofab_3dpc_editor_cli-0.2.3.tar.gz",
"platform": null,
"description": "# annofab-3dpc-editor-cli\nAnnofab\u306e3\u6b21\u5143\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u64cd\u4f5c\u3059\u308b\u305f\u3081\u306eCLI\u3067\u3059\u3002\n\n[![Build Status](https://app.travis-ci.com/kurusugawa-computer/annofab-3dpc-editor-cli.svg?branch=master)](https://app.travis-ci.com/kurusugawa-computer/annofab-3dpc-editor-cli)\n[![PyPI version](https://badge.fury.io/py/annofab-3dpc-editor-cli.svg)](https://badge.fury.io/py/annofab-3dpc-editor-cli)\n[![Python Versions](https://img.shields.io/pypi/pyversions/annofab-3dpc-editor-cli.svg)](https://pypi.org/project/annofab-3dpc-editor-cli)\n[![Documentation Status](https://readthedocs.org/projects/annofab-3dpc-editor-cli/badge/?version=latest)](https://annofab-3dpc-editor-cli.readthedocs.io/ja/latest/?badge=latest)\n\n\n\n## Install\n\n```\n$ pip install annofab-3dpc-editor-cli\n```\n\n## \u30b3\u30de\u30f3\u30c9\u30b5\u30f3\u30d7\u30eb\nhttps://annofab-3dpc-editor-cli.readthedocs.io/ja/latest/user_guide/command_sample.html \u53c2\u7167\n\n\n### \u30d0\u30fc\u30b8\u30e7\u30f3\u306e\u78ba\u8a8d\u65b9\u6cd5\n\n```\n$ anno3d version\nannofab-3dpc-editor-cli 0.2.2a1\n```\n\n--------------\n## \u958b\u767a\u74b0\u5883\n\n * poetry\n * Poetry version 1.8.3\n * python 3.12\n \n \n### \u958b\u767a\u74b0\u5883\u521d\u671f\u5316\n\npoetry\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u624b\u9806\u306f\u3001\u3053\u306e\u30d5\u30a1\u30a4\u30eb\u4e0b\u90e8\u306e`poetry\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u624b\u9806`\u3092\u53c2\u7167\n\n```\npoetry install\n```\n\n\n\n## poetry\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u624b\u9806\n\n\npoetry\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u624b\u9806\u4e00\u4f8b\u3092\u4ee5\u4e0b\u306b\u793a\u3059 \n2020/05/21 ubuntu 18.04 \u306b\u3066\u78ba\u8a8d\n\n\n### pyenv\n\n\u30b7\u30b9\u30c6\u30e0\u306bpython 3.12\u3092\u76f4\u63a5\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u4f7f\u3046\u306a\u3089`pyenv`\u306f\u8981\u3089\u306a\u3044\n\n#### \u524d\u63d0\u30e9\u30a4\u30d6\u30e9\u30ea\u306a\u3069\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\n\n<details>\n<summary>ubuntu 22.04\u306e\u5834\u5408</summary>\n\n```\nsudo apt-get update\n\n\nsudo apt-get install make build-essential libssl-dev zlib1g-dev \\\nlibbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \\\nlibncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev python3-openssl\n```\n\n</details>\n\n\n<details>\n<summary>ubuntu 18.04\u306e\u5834\u5408</summary>\n\n```\nsudo apt-get update\n\nsudo apt-get install build-essential libssl-dev zlib1g-dev libbz2-dev \\\nlibreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \\\nxz-utils tk-dev libffi-dev liblzma-dev python-openssl git\n```\n\n</details>\n\n\n#### pyenv\u3068python\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\n\n```\ncurl https://pyenv.run | bash\n``` \n\n\u30b3\u30f3\u30bd\u30fc\u30eb\u306b\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u8a2d\u5b9a\u3059\u3079\u304d\u5185\u5bb9\u304c\u51fa\u529b\u3055\u308c\u308b\u306e\u3067`.bashrc`\u306a\u3069\u306b\u8a2d\u5b9a\n\n```\nexport PATH=\"/home/vagrant/.pyenv/bin:$PATH\"\neval \"$(pyenv init -)\"\neval \"$(pyenv virtualenv-init -)\"\n```\n\n```\npyenv install 3.12.4\npyenv global 3.12.4\n```\n\n\n### pipx\n\n\u76f4\u63a5 poetry \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u306a\u3089\u8981\u3089\u306a\u3044\n\n```\npython -m pip install --user pipx\npython -m pipx ensurepath\n```\n\ncompletion\u3092\u52b9\u304b\u305b\u305f\u3044\u3068\u304d\u306f\u3001`pipx completions` \u306e\u5b9f\u884c\u7d50\u679c\u306b\u5f93\u3063\u3066\u8a2d\u5b9a\u3059\u308b\n\n```\n$ pipx completions\n\nAdd the appropriate command to your shell's config file\nso that it is run on startup. You will likely have to restart\nor re-login for the autocompletion to start working.\n\nbash:\n eval \"$(register-python-argcomplete pipx)\"\n\nzsh:\n To activate completions for zsh you need to have\n bashcompinit enabled in zsh:\n\n autoload -U bashcompinit\n bashcompinit\n\n Afterwards you can enable completion for pipx:\n\n eval \"$(register-python-argcomplete pipx)\"\n\ntcsh:\n eval `register-python-argcomplete --shell tcsh pipx`\n\nfish:\n register-python-argcomplete --shell fish pipx | .\n```\n\n### poetry\n\n```\npipx install poetry\npoetry completions bash | sudo tee /etc/bash_completion.d/poetry.bash-completion\n```\n\n## PyPI\u3078\u306e\u516c\u958b\n[GitHub\u306eReleases](https://github.com/kurusugawa-computer/annofab-3dpc-editor-cli/releases)\u304b\u3089\u30ea\u30ea\u30fc\u30b9\u3092\u4f5c\u6210\u3057\u3066\u304f\u3060\u3055\u3044\u3002\nGitHub Actions\u306b\u3088\u308a\u81ea\u52d5\u3067PyPI\u306b\u516c\u958b\u3055\u308c\u307e\u3059\u3002\n\u30d0\u30fc\u30b8\u30e7\u30f3\u60c5\u5831\u306f\u3001`poetry build`\u6642\u306b[poetry-dynamic-versioning](https://github.com/mtkennerly/poetry-dynamic-versioning)\u306b\u3088\u3063\u3066\u3001Git\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u30bf\u30b0\u304b\u3089\u751f\u6210\u3055\u308c\u307e\u3059\u3002\n\n\u624b\u52d5\u3067PyPI\u306b\u516c\u958b\u3059\u308b\u5834\u5408\u306f\u3001\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n\n```\n# VSCode Dev Containers\u3067\u306f\u3001`/usr/local/lib/python3.12/dist-packages/`\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3088\u3046\u3068\u3059\u308b\u305f\u3081\u3001`sudo`\u3067\u5b9f\u884c\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\n$ sudo poetry self add \"poetry-dynamic-versioning[plugin]@1.4.0\"\n$ make publish\n```\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Annofab\u306e3\u6b21\u5143\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u64cd\u4f5c\u3059\u308b\u305f\u3081\u306eCLI\u3067\u3059\u3002",
"version": "0.2.3",
"project_urls": {
"Homepage": "https://github.com/kurusugawa-computer/annofab-3dpc-editor-cli",
"Repository": "https://github.com/kurusugawa-computer/annofab-3dpc-editor-cli"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "0697d00d99d6e8f2f97072bdcf7d6fcf664541ce6fad832e17ff2bb6d84e8040",
"md5": "d51f911ab36daf99bf95c88977a1bb47",
"sha256": "f43c14c70a9e6bc527e5a5884020e21e2f677192d50f51bf28e2d6db055affe1"
},
"downloads": -1,
"filename": "annofab_3dpc_editor_cli-0.2.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d51f911ab36daf99bf95c88977a1bb47",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.9",
"size": 51580,
"upload_time": "2024-10-11T00:42:08",
"upload_time_iso_8601": "2024-10-11T00:42:08.619877Z",
"url": "https://files.pythonhosted.org/packages/06/97/d00d99d6e8f2f97072bdcf7d6fcf664541ce6fad832e17ff2bb6d84e8040/annofab_3dpc_editor_cli-0.2.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "50ccb2863fcc7a76f4b9ff22e7fe635831a92d5a8c647676d9c19648e0328a1a",
"md5": "0c31a4690da5cb7680877b253c9ef7e2",
"sha256": "c2ec7784c64e9ddf0c945ca97c4add98ca9fd5fa5f9f2a9c51b73a29a2e6d0ed"
},
"downloads": -1,
"filename": "annofab_3dpc_editor_cli-0.2.3.tar.gz",
"has_sig": false,
"md5_digest": "0c31a4690da5cb7680877b253c9ef7e2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.9",
"size": 38927,
"upload_time": "2024-10-11T00:42:10",
"upload_time_iso_8601": "2024-10-11T00:42:10.034167Z",
"url": "https://files.pythonhosted.org/packages/50/cc/b2863fcc7a76f4b9ff22e7fe635831a92d5a8c647676d9c19648e0328a1a/annofab_3dpc_editor_cli-0.2.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-11 00:42:10",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "kurusugawa-computer",
"github_project": "annofab-3dpc-editor-cli",
"travis_ci": true,
"coveralls": false,
"github_actions": true,
"lcname": "annofab-3dpc-editor-cli"
}