changes to workflow

This commit is contained in:
Rajat Sen
2025-10-07 21:38:22 +00:00
parent dc35e580d9
commit 018b2557ab
6 changed files with 171 additions and 39 deletions
+10 -14
View File
@@ -1,4 +1,4 @@
name: Poetry publish
name: Python package build
on:
push:
@@ -7,24 +7,20 @@ on:
branches: [ "master" ]
jobs:
buildPush:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.10'
- name: Install Poetry
python-version: '3.11'
- name: Install uv
run: |
python -m pip install --upgrade pip
pip install poetry
# use the hardcoded version number for now. if this is merged to the main repo, you can uncomment these lines to automatically tag the version number with the github run number
# e.g. poetry version 0.1.${{ github.run_number }}
- name: Set Version number
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Install build dependencies
run: |
poetry version 1.3.0
- name: Build and Publish to PyPI
run: |
poetry config pypi-token.pypi ${{ secrets.PYPI_API_TOKEN }}
poetry publish --build
uv pip install build
- name: Build package
run: python -m build
+25
View File
@@ -0,0 +1,25 @@
name: Manual PyPI Publish
on:
workflow_dispatch:
jobs:
build-and-publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.11'
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Install Poetry
run: |
uv pip install poetry
- name: Build and Publish to PyPI
run: |
poetry config pypi-token.pypi ${{ secrets.PYPI_API_TOKEN }}
poetry publish --build
+1
View File
@@ -6,3 +6,4 @@ wandb/
datasets/
results/
timesfm_jax.egg-info/
development_setup.md
+20 -7
View File
@@ -44,15 +44,28 @@ will be under construction over the next few weeks to
### Install
TODO(siriuz42): Package timesfm==2.0.0 and upload to PyPI .
1. Clone the repository:
```shell
git clone https://github.com/google-research/timesfm.git
cd timesfm
```
Run
2. Create a virtual environment and install dependencies using `uv`:
```shell
# Create a virtual environment
uv venv
# Activate the environment
source .venv/bin/activate
# Install the dependencies
uv pip install -r requirements.txt
```
```shell
git clone https://github.com/google-research/timesfm.git
cd timesfm
pip install -e .
```
3. (Optional) If you plan to modify the source code, install the package in editable mode:
```shell
uv pip install -e .
```
### Code Example
+16 -18
View File
@@ -1,31 +1,29 @@
[tool.poetry]
[project]
name = "timesfm"
version = "2.0.0"
description = "A time series foundation model."
authors = [
"Rajat Sen <senrajat@google.com>",
"Yichen Zhou <yichenzhou@google.com>",
"Abhimanyu Das <abhidas@google.com>",
"Petros Mol <pmol@google.com>",
"Michael Chertushkin <chertushkinmichael@gmail.com>"
{name = "Rajat Sen", email = "senrajat@google.com"},
{name = "Yichen Zhou", email = "yichenzhou@google.com"},
{name = "Abhimanyu Das", email = "abhidas@google.com"},
{name = "Petros Mol", email = "pmol@google.com"},
{name = "Michael Chertushkin", email = "chertushkinmichael@gmail.com"},
]
license = "Apache-2.0"
license = {text = "Apache-2.0"}
readme = "README.md"
packages = [{include = "timesfm", from = "src"}]
[tool.poetry.dependencies]
python = ">=3.11"
numpy = ">=1.26.4"
huggingface_hub = { version = ">=0.23.0", extras = ["cli"] }
safetensors = ">=0.5.3"
torch = { version = ">=2.0.0", extras = ["cuda"] }
requires-python = ">=3.11"
dependencies = [
"numpy>=1.26.4",
"huggingface_hub[cli]>=0.23.0",
"safetensors>=0.5.3",
"torch>=2.0.0",
]
[tool.ruff]
line-length = 88
indent-width = 2
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"
+99
View File
@@ -0,0 +1,99 @@
# This file was autogenerated by uv via the following command:
# uv pip compile pyproject.toml -o requirements.txt
certifi==2025.10.5
# via requests
charset-normalizer==3.4.3
# via requests
filelock==3.19.1
# via
# huggingface-hub
# torch
fsspec==2025.9.0
# via
# huggingface-hub
# torch
hf-xet==1.1.10
# via huggingface-hub
huggingface-hub==0.35.3
# via timesfm (pyproject.toml)
idna==3.10
# via requests
inquirerpy==0.3.4
# via huggingface-hub
jinja2==3.1.6
# via torch
markupsafe==3.0.3
# via jinja2
mpmath==1.3.0
# via sympy
networkx==3.5
# via torch
numpy==2.3.3
# via timesfm (pyproject.toml)
nvidia-cublas-cu12==12.8.4.1
# via
# nvidia-cudnn-cu12
# nvidia-cusolver-cu12
# torch
nvidia-cuda-cupti-cu12==12.8.90
# via torch
nvidia-cuda-nvrtc-cu12==12.8.93
# via torch
nvidia-cuda-runtime-cu12==12.8.90
# via torch
nvidia-cudnn-cu12==9.10.2.21
# via torch
nvidia-cufft-cu12==11.3.3.83
# via torch
nvidia-cufile-cu12==1.13.1.3
# via torch
nvidia-curand-cu12==10.3.9.90
# via torch
nvidia-cusolver-cu12==11.7.3.90
# via torch
nvidia-cusparse-cu12==12.5.8.93
# via
# nvidia-cusolver-cu12
# torch
nvidia-cusparselt-cu12==0.7.1
# via torch
nvidia-nccl-cu12==2.27.3
# via torch
nvidia-nvjitlink-cu12==12.8.93
# via
# nvidia-cufft-cu12
# nvidia-cusolver-cu12
# nvidia-cusparse-cu12
# torch
nvidia-nvtx-cu12==12.8.90
# via torch
packaging==25.0
# via huggingface-hub
pfzy==0.3.4
# via inquirerpy
prompt-toolkit==3.0.52
# via inquirerpy
pyyaml==6.0.3
# via huggingface-hub
requests==2.32.5
# via huggingface-hub
safetensors==0.6.2
# via timesfm (pyproject.toml)
setuptools==80.9.0
# via triton
sympy==1.14.0
# via torch
torch==2.8.0
# via timesfm (pyproject.toml)
tqdm==4.67.1
# via huggingface-hub
triton==3.4.0
# via torch
typing-extensions==4.15.0
# via
# huggingface-hub
# torch
urllib3==2.5.0
# via requests
wcwidth==0.2.14
# via prompt-toolkit