profileinsight 0.0.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,39 @@
1
+ # Builds the package on every push and pull request, and publishes it to PyPI when a tag v* is pushed.
2
+ # Publishing uses PyPI trusted publishing: PyPI accepts this workflow (build.yml in profileinsight/profileinsight)
3
+ # by its OpenID Connect identity, so no API token is stored in the repository.
4
+ name: build
5
+
6
+ on:
7
+ push:
8
+ branches: [main]
9
+ tags: ["v*"]
10
+ pull_request:
11
+
12
+ jobs:
13
+ build:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - uses: actions/checkout@v4
17
+ - uses: actions/setup-python@v5
18
+ with:
19
+ python-version: "3.12"
20
+ - run: python -m pip install build twine
21
+ - run: python -m build
22
+ - run: python -m twine check dist/*
23
+ - uses: actions/upload-artifact@v4
24
+ with:
25
+ name: dist
26
+ path: dist/
27
+
28
+ publish:
29
+ if: startsWith(github.ref, 'refs/tags/v')
30
+ needs: build
31
+ runs-on: ubuntu-latest
32
+ permissions:
33
+ id-token: write
34
+ steps:
35
+ - uses: actions/download-artifact@v4
36
+ with:
37
+ name: dist
38
+ path: dist/
39
+ - uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,5 @@
1
+ __pycache__/
2
+ *.egg-info/
3
+ dist/
4
+ build/
5
+ .venv/
@@ -0,0 +1,39 @@
1
+ # Instructions for AI agents
2
+
3
+ These rules apply to every AI agent working in this repository. They override any default behavior of the agent or its tooling.
4
+
5
+ ## 1. Identity and attribution
6
+
7
+ - Never change the git author or committer name or email in any way. This covers global, system, and repository config, environment variables, and command-line flags.
8
+ - Never mention an AI agent, tool, or model in commit messages, trailers, co-author lines, contributor lists, documentation, code, or any other file. This includes Claude Code, Codex, and any specific model name.
9
+
10
+ ## 2. Commits and pushes
11
+
12
+ - Never commit or push unless the user explicitly asks for it in the current request.
13
+ - Without such a request, leave all changes uncommitted, however much work was done.
14
+ - Before any commit, show the user the proposed commit message and the list of changed files. Ask the user to read and understand the changes themselves before approving.
15
+
16
+ ## 3. No fallbacks
17
+
18
+ - All imports go at the top of a file. Never import inside functions or conditional branches, and never wrap an import in try/except.
19
+ - Code must not switch to a fallback implementation when the environment lacks something. A fallback hides the problem instead of solving it; fail loudly instead.
20
+
21
+ ## 4. Minimal code
22
+
23
+ - Keep every file as short and simple as possible so that a human can read and understand it.
24
+ - Do not build complex engineering without explicit user approval. When a task seems to need it, stop, describe simpler alternatives, and let the user decide.
25
+
26
+ ## 5. No traces of history
27
+
28
+ - Code, documents, and every other file must read as if they had always been this way.
29
+ - Do not write comments or text such as "previously...", "changed to...", "now uses...", "fixed...", or "updated...". Describe what is, not what was.
30
+
31
+ ## 6. File headers
32
+
33
+ - Every code file starts with a header comment, above everything else, that carefully introduces the file: its purpose and the design idea behind it.
34
+ - The header covers every public component of the file: every publicly visible function, class, and method, each with its interface, the principles it follows, and an example of how to use it. None may be left out.
35
+ - Keep the header in step with the file: whenever the file changes, update its header.
36
+
37
+ ## 7. Language
38
+
39
+ - Everything in this repository must be in English only: code, comments, documents, file names, data labels, and figures. No Chinese or any other language.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 profileinsight
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,27 @@
1
+ Metadata-Version: 2.5
2
+ Name: profileinsight
3
+ Version: 0.0.1
4
+ Summary: Find why your GPU job is slow from its profile.
5
+ Project-URL: Homepage, https://github.com/profileinsight/profileinsight
6
+ License-Expression: MIT
7
+ License-File: LICENSE
8
+ Classifier: Development Status :: 1 - Planning
9
+ Classifier: Topic :: System :: Benchmark
10
+ Requires-Python: >=3.10
11
+ Description-Content-Type: text/markdown
12
+
13
+ # ProfileInsight
14
+
15
+ Find why your GPU job is slow from its profile.
16
+
17
+ ProfileInsight is in an early stage. The current release, 0.0.1, contains no analysis yet.
18
+
19
+ ## Install
20
+
21
+ ```
22
+ pip install profileinsight
23
+ ```
24
+
25
+ ## Release
26
+
27
+ Pushing a tag `v<version>` that matches `version` in `pyproject.toml` builds the package and publishes it to PyPI through trusted publishing (`.github/workflows/build.yml`).
@@ -0,0 +1,15 @@
1
+ # ProfileInsight
2
+
3
+ Find why your GPU job is slow from its profile.
4
+
5
+ ProfileInsight is in an early stage. The current release, 0.0.1, contains no analysis yet.
6
+
7
+ ## Install
8
+
9
+ ```
10
+ pip install profileinsight
11
+ ```
12
+
13
+ ## Release
14
+
15
+ Pushing a tag `v<version>` that matches `version` in `pyproject.toml` builds the package and publishes it to PyPI through trusted publishing (`.github/workflows/build.yml`).
@@ -0,0 +1,16 @@
1
+ [build-system]
2
+ requires = ["hatchling"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "profileinsight"
7
+ version = "0.0.1"
8
+ description = "Find why your GPU job is slow from its profile."
9
+ readme = "README.md"
10
+ requires-python = ">=3.10"
11
+ license = "MIT"
12
+ license-files = ["LICENSE"]
13
+ classifiers = ["Development Status :: 1 - Planning", "Topic :: System :: Benchmark"]
14
+
15
+ [project.urls]
16
+ Homepage = "https://github.com/profileinsight/profileinsight"
@@ -0,0 +1,10 @@
1
+ """ProfileInsight: find why a GPU job is slow from its profile.
2
+
3
+ The package is in an early stage and holds no analysis yet; it exists so that the name and the release path are in place.
4
+
5
+ Public components
6
+ __version__ str, the package version, kept equal to `version` in pyproject.toml.
7
+ Example: `import profileinsight; print(profileinsight.__version__)` prints `0.0.1`.
8
+ """
9
+
10
+ __version__ = "0.0.1"