Skip to main content

Add your description here

Project description

使用UV工具编写Tool项目

安装

Linux、MacOS

使用 curl 下载脚本,并使用 sh 执行它:

curl -LsSf https://astral.sh/uv/install.sh | sh

如果系统中没有 curl,可以使用 wget

wget -qO- https://astral.sh/uv/install.sh | sh

Windows

使用 irm 下载脚本,并使用 iex 执行它:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

创建新项目

您可以使用 uv init 命令创建一个新的 Python 项目:

uv init hello-world
cd hello-world

或者,你可以在工作目录中初始化一个项目:

mkdir hello-world
cd hello-world
uv init

uv 将创建以下文件:

├── .gitignore
├── .python-version
├── README.md
├── main.py
└── pyproject.toml

main.py 文件包含一个简单的“Hello world”程序。使用 uv run 尝试运行它:

uv run main.py

项目结构

一个项目由几个重要的部分组成,这些部分协同工作,使 uv 能够管理你的项目。除了uv init创建的文件外,uv 还会创建一个虚拟环境和uv.lock文件。 在项目根目录下首次运行项目命令(例如:uv run)时,会生成一个文件。 uv sync,或 uv lock。

完整列表如下:

├── .venv
│   ├── bin
│   ├── lib
│   └── pyvenv.cfg
├── .python-version
├── README.md
├── main.py
├── pyproject.toml
└── uv.lock

pyproject.toml

pyproject.toml 文件包含了关于您项目的元数据:

[project]
name = "uv-hello-world"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.10"
dependencies = []

本地运行

uv run 运行

uv run main.py

修改项目为Tool类型

修改pyproject.toml项目配置,增加入口函数

[project.scripts]
uv-hello-world = "main:main"

使用uvx 运行

uvx --from . uv-hello-world

构建

uv build

发布到pypi

使用 --tokenUV_PUBLISH_TOKEN 设置 PyPI 密钥

uv publish --token pypi-AgEIcHlwaS5vcmcCJDQ4YzIyMjZlLWY0YzMtNDE0Zi05MzY3LWVlMDk5YmM5YzM0MAACFlsxLFsidXYtaGVsbG8td29ybGQiXV0AAixbMixbImI5Zjk2YjU0LWNlN2EtNGE3YS04OTY5LWM5NDVlNjQ3OTIyNiJdXQAABiAn8LzTl0WOxxS7AHfqv6kQpFIdUfYVWlZmKkW-6Vsumg12

使用 --usernameUV_PUBLISH_USERNAME设置用户名,使用 --passwordUV_PUBLISH_PASSWORD设置密码.

uv publish --username __token__  --password pypi-AgEIcHlwaS5vcmcCJDQ4YzIyMjZlLWY0YzMtNDE0Zi05MzY3LWVlMDk5YmM5YzM0MAACFlsxLFsidXYtaGVsbG8td29ybGQiXV0AAixbMixbImI5Zjk2YjU0LWNlN2EtNGE3YS04OTY5LWM5NDVlNjQ3OTIyNiJdXQAABiAn8LzTl0WOxxS7AHfqv6kQpFIdUfYVWlZmKkW-6Vsumg12
export UV_PUBLISH_USERNAME=__token__
export UV_PUBLISH_PASSWORD=pypi-AgEIcHlwaS5vcmcCJDQ4YzIyMjZlLWY0YzMtNDE0Zi05MzY3LWVlMDk5YmM5YzM0MAACFlsxLFsidXYtaGVsbG8td29ybGQiXV0AAixbMixbImI5Zjk2YjU0LWNlN2EtNGE3YS04OTY5LWM5NDVlNjQ3OTIyNiJdXQAABiAn8LzTl0WOxxS7AHfqv6kQpFIdUfYVWlZmKkW-6Vsumg12
uv publish 

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

uv_hello_world-0.1.8.tar.gz (3.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

uv_hello_world-0.1.8-py3-none-any.whl (3.5 kB view details)

Uploaded Python 3

File details

Details for the file uv_hello_world-0.1.8.tar.gz.

File metadata

  • Download URL: uv_hello_world-0.1.8.tar.gz
  • Upload date:
  • Size: 3.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.16

File hashes

Hashes for uv_hello_world-0.1.8.tar.gz
Algorithm Hash digest
SHA256 942774259f039a0775855d4176bd7a15ca0c5632639601168ef0a32672987e8d
MD5 c334efb25e6c61412640c18d4a3b10d7
BLAKE2b-256 71c1bdb1372e5e85bb06005f457e4337f13c82a9b22a1e68bdd21f0a38bee442

See more details on using hashes here.

File details

Details for the file uv_hello_world-0.1.8-py3-none-any.whl.

File metadata

File hashes

Hashes for uv_hello_world-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 577259a008b4eb62ed9c921957becbc1ec7e15c7cd47216c652caa49aa9ff15a
MD5 37996c400ae42267d14e440a30dd6e21
BLAKE2b-256 e5e6d23a17459eb91f6480d72f47b64c2dee860184d0a68510e17e5a699e34c9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page