github 流水线 python 包通过 github action 发布到 pip
https://pypi.org/help/#apitoken
name: Upload Python Package
on:
# 以下是推送到 main 分支时触发
push:
branches:
- 'main'
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install setuptools wheel twine
- name: Build and publish
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: pypi-XX
run: |
python setup.py sdist bdist_wheel
twine upload dist/*
示例
python-sdk/setup.py at master · ThinkingDataAnalytics/python-sdk https://github.com/ThinkingDataAnalytics/python-sdk/blob/master/setup.py
from setuptools import setup, find_packages
import re
from os import path
def read(*paths):
filename = path.join(path.abspath(path.dirname(__file__)), *paths)
with open(filename, 'r') as f:
return f.read()
def find_version(*paths):
contents = read(*paths)
match = re.search(r'^__version__ = [\'"]([^\'"]+)[\'"]', contents, re.M)
if not match:
raise RuntimeError('Unable to find version string.')
return match.group(1)
setup(
name='ThinkingDataSdk',
version=find_version('tgasdk', 'sdk.py'),
description='Official ThinkingData Analytics library for Python',
long_description=read('README.md'),
long_description_content_type='text/markdown',
url='https://github.com/ThinkingDataAnalytics/python-sdk',
license='Apache',
author='ThinkingData, Inc.',
author_email='sdk@thinkingdata.cn',
packages=find_packages(),
platforms=["all"],
install_requires=['requests'],
classifiers=[
'License :: OSI Approved :: Apache Software License',
'Operating System :: OS Independent',
'Intended Audience :: Developers',
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 3',
'Topic :: Software Development :: Libraries'
],
)

浙公网安备 33010602011771号