Skip to content

Delete skyrl, move everything up a level, and delete skyrl-train and skyrl-tx so that everything is renamed#1135

Merged
erictang000 merged 2 commits into
NovaSky-AI:recover_git_history2from
erictang000:renaming2
Feb 16, 2026
Merged

Delete skyrl, move everything up a level, and delete skyrl-train and skyrl-tx so that everything is renamed#1135
erictang000 merged 2 commits into
NovaSky-AI:recover_git_history2from
erictang000:renaming2

Conversation

@erictang000
Copy link
Copy Markdown
Collaborator

@erictang000 erictang000 commented Feb 16, 2026

erictang000 and others added 2 commits February 15, 2026 15:34
<!-- devin-review-badge-begin -->

---

<a href="https://app.devin.ai/review/novasky-ai/skyrl/pull/1132"
target="_blank">
  <picture>
<source media="(prefers-color-scheme: dark)"
srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1">
<img
src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1"
alt="Open with Devin">
  </picture>
</a>
<!-- devin-review-badge-end -->
@erictang000 erictang000 merged commit 9bc1dd0 into NovaSky-AI:recover_git_history2 Feb 16, 2026
Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Open in Devin Review

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request is a significant and valuable refactoring that unifies the skyrl-train and skyrl-tx packages into a single skyrl package at the root level. This greatly improves the project's structure and maintainability. The extensive updates to pyproject.toml introduce a modern, robust packaging setup using uv with well-defined optional dependencies for various backends. My review focuses on the new configuration files, where I've identified some opportunities for improvement. I've pointed out a few duplicate entries in the .gitignore file and have made several suggestions for pyproject.toml to enhance flexibility, clarity, and prevent potential performance issues. Overall, this is an excellent step forward for the project.

Comment thread pyproject.toml
transformer-engine-torch = [{requirement = "torch", match-runtime = true}, "build_tools", "ninja"]

[tool.uv.extra-build-variables]
flash-attn = { FLASH_ATTENTION_SKIP_CUDA_BUILD = "TRUE"}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

Setting FLASH_ATTENTION_SKIP_CUDA_BUILD = "TRUE" is concerning. This will likely prevent flash-attn's CUDA extensions from being built, causing it to fall back to a much slower pure Python implementation and negating its performance benefits. If the goal is to use pre-built wheels, that should be configured through [tool.uv.sources] or by pinning to a specific wheel URL. Could you clarify the reasoning for this build variable? Without the CUDA extensions, there could be a significant performance regression.

Comment thread .gitignore
Comment on lines +51 to +140
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
uv.lock

# PyInstaller
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/

# Jupyter Notebook
.ipynb_checkpoints

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# MkDocs build output
site/

# IDEs and editors
.idea/
.vscode/

# OS generated files
.DS_Store
Thumbs.db

# Hydra outputs
outputs/

# Local artifacts
tinker.db
uv.lock

# Alembic - don't track pycache
tx/tinker/alembic/__pycache__/

# SQLite databases (tracked in git by default, but ignore if created locally)
*.db
*.db-journal
*.db-wal
*.db-shm
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This block adds many standard Python .gitignore entries, which is great. However, there are a few duplicated entries that should be removed to keep the file clean:

  • uv.lock is defined on line 49, but also on lines 79 and 131.
  • *.db is defined on line 46, but also on line 137.

Please remove the redundant entries on lines 79, 131, and 137.

Comment thread pyproject.toml
Comment on lines +111 to +123
megatron = [
"skyrl[skyrl-train]; python_version == '3.12'",
"transformer-engine[pytorch]==2.10.0; sys_platform == 'linux' and python_version == '3.12'",
"flash-attn==2.8.1; sys_platform == 'linux' and python_version == '3.12'",
"vllm==0.13.0; sys_platform == 'linux' and python_version == '3.12'",
"torch==2.9.0; sys_platform == 'linux' and python_version == '3.12'",
"flashinfer-python==0.5.3; sys_platform == 'linux' and platform_machine == 'x86_64' and python_version == '3.12'",
"torchvision; sys_platform == 'linux' and python_version == '3.12'",
"megatron-bridge; sys_platform == 'linux' and python_version == '3.12'",
"megatron-core==0.15.0; sys_platform == 'linux' and python_version == '3.12'",
"flashinfer-jit-cache==0.5.3; sys_platform == 'linux' and platform_machine == 'x86_64' and python_version == '3.12'",
"nvidia-modelopt; sys_platform == 'linux' and python_version == '3.12'",
]
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Pinning the entire megatron extra to python_version == '3.12' is quite restrictive. It prevents users on other Python versions (like 3.11, which is supported by the project) from installing and using this functionality. The comment mentions this is due to ml-dtypes. Have you considered addressing the dependency conflict more granularly, for example by using an override for ml-dtypes in [tool.uv.override-dependencies]? This would make the project more flexible for users on different Python versions.

Comment thread pyproject.toml
Comment on lines +161 to +162
[project.scripts]
# The following is for supporting the skyrl-train dependency
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The [project.scripts] section is empty, and the accompanying comment "# The following is for supporting the skyrl-train dependency" is a bit unclear. If there are no scripts to be installed, it would be cleaner to remove this section entirely. If it's a placeholder for future use, a more descriptive comment explaining its purpose would be helpful for future maintainers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant