Skip to content

Commit 7b57e18

Browse files
committed
Initial commit enabling repo structure and base implementations for requests, backends, and tasks
1 parent 1975333 commit 7b57e18

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+1809
-0
lines changed

.MAINTAINERS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# list of active maintainers
2+
markurtz

.github/workflows/ci.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
TODO

.github/workflows/release.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
TODO

.pre-commit-config.yaml

Whitespace-only changes.

CODE_OF_CONDUCT.md

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
<!--
2+
Copyright (c) 2021 - present / Neuralmagic, Inc. All Rights Reserved.
3+
4+
Licensed under the Apache License, Version 2.0 (the "License");
5+
you may not use this file except in compliance with the License.
6+
You may obtain a copy of the License at
7+
8+
http://www.apache.org/licenses/LICENSE-2.0
9+
10+
Unless required by applicable law or agreed to in writing,
11+
software distributed under the License is distributed on an "AS IS" BASIS,
12+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
See the License for the specific language governing permissions and
14+
limitations under the License.
15+
-->
16+
17+
# Community Code of Conduct
18+
19+
## Our Pledge
20+
21+
In the interest of fostering an open and welcoming environment, we as
22+
contributors and maintainers pledge to make participation in our project and
23+
our community a harassment-free experience for everyone, regardless of age, body
24+
size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression,
25+
level of experience, education, socio-economic status, nationality, personal
26+
appearance, race, religion, or sexual identity and orientation.
27+
28+
## Our Standards
29+
30+
Examples of behavior that contributes to creating a positive environment
31+
include:
32+
33+
* Using welcoming and inclusive language
34+
* Being respectful of differing viewpoints and experiences
35+
* Gracefully accepting constructive criticism
36+
* Focusing on what is best for the community
37+
* Showing empathy towards other community members
38+
39+
Examples of unacceptable behavior by participants include:
40+
41+
* The use of sexualized language or imagery and unwelcome sexual attention or
42+
advances
43+
* Trolling, insulting/derogatory comments, and personal or political attacks
44+
* Public or private harassment
45+
* Publishing others' private information, such as a physical or electronic
46+
address, without explicit permission
47+
* Other conduct which could reasonably be considered inappropriate in a
48+
professional setting
49+
50+
## Our Responsibilities
51+
52+
Project maintainers are responsible for clarifying the standards of acceptable
53+
behavior and are expected to take appropriate and fair corrective action in
54+
response to any instances of unacceptable behavior.
55+
56+
Project maintainers have the right and responsibility to remove, edit, or
57+
reject comments, commits, code, wiki edits, issues, and other contributions
58+
that are not aligned to this Code of Conduct, or to ban temporarily or
59+
permanently any contributor for other behaviors that they deem inappropriate,
60+
threatening, offensive, or harmful.
61+
62+
## Scope
63+
64+
This Code of Conduct applies within all project spaces, and it also applies when
65+
an individual is representing the project or its community in public spaces.
66+
Examples of representing a project or community include using an official
67+
project e-mail address, posting via an official social media account, or acting
68+
as an appointed representative at an online or offline event. Representation of
69+
a project may be further defined and clarified by project maintainers.
70+
71+
## Enforcement
72+
73+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
74+
reported by contacting the project team using the [Neural Magic Contact Us Form](https://neuralmagic.com/contact). All
75+
complaints will be reviewed and investigated and will result in a response that
76+
is deemed necessary and appropriate to the circumstances. The project team is
77+
obligated to maintain confidentiality with regard to the reporter of an incident.
78+
Further details of specific enforcement policies may be posted separately.
79+
80+
Project maintainers who do not follow or enforce the Code of Conduct in good
81+
faith may face temporary or permanent repercussions as determined by other
82+
members of the project's leadership.
83+
84+
## Attribution
85+
86+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
87+
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
88+
89+
[homepage]: https://www.contributor-covenant.org
90+
91+
For answers to common questions about this code of conduct, see
92+
https://www.contributor-covenant.org/faq

CONTRIBUTING.md

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
<!--
2+
Copyright (c) 2021 - present / Neuralmagic, Inc. All Rights Reserved.
3+
4+
Licensed under the Apache License, Version 2.0 (the "License");
5+
you may not use this file except in compliance with the License.
6+
You may obtain a copy of the License at
7+
8+
http://www.apache.org/licenses/LICENSE-2.0
9+
10+
Unless required by applicable law or agreed to in writing,
11+
software distributed under the License is distributed on an "AS IS" BASIS,
12+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
See the License for the specific language governing permissions and
14+
limitations under the License.
15+
-->
16+
17+
# Contributing to GuideLLM
18+
19+
If you’re reading this, hopefully we have piqued your interest to take the next step. Join us and help make GuideLLM even better! As a contributor, here are some community guidelines we would like you to follow:
20+
21+
- [Code of Conduct](#code-of-conduct)
22+
- [Ways to Contribute](#ways-to-contribute)
23+
- [Bugs and Feature Requests](#bugs-and-feature-requests)
24+
- [Question or Problem](#question-or-problem)
25+
- [Developing GuideLLM](DEVELOPING.md)
26+
27+
## Code of Conduct
28+
29+
Help us keep the software inclusive. Please read and follow our [Code of Conduct](CODE_OF_CONDUCT.md) in order to promote an environment that is friendly, fair, respectful, and safe. We want to inspire collaboration, innovation, and fun!
30+
31+
## Ways to Contribute
32+
33+
Whether you’re a newbie, dabbler, or expert, we appreciate you jumping in.
34+
35+
### Contributing Code
36+
37+
- Make pull requests for addressing bugs, open issues, and documentation
38+
- Neural Magic as the maintainer will do reviews and final merge
39+
40+
### Reporting In
41+
42+
- See something, say something: bugs, documentation
43+
- Propose new feature requests to Neural Magic
44+
45+
### Helping Others
46+
47+
- Answer open discussion topics
48+
- Spread the word about GuideLLM
49+
- Teach and empower others. This is the way!
50+
51+
## Bugs and Feature Requests
52+
53+
Please search through existing issues and requests first to avoid duplicates. Neural Magic will work with you further to take next steps.
54+
55+
- Go to: [GitHub Issues](https://github.com/neuralmagic/guidellm/issues)
56+
57+
For bugs, include:
58+
59+
- brief summary
60+
- OS/Environment details
61+
- steps to reproduce (s.t.r.)
62+
- code snippets, screenshots/casts, log content, sample models
63+
- add the GitHub label "bug" to your post
64+
65+
For feature requests, include:
66+
67+
- problem you’re trying to solve
68+
- community benefits
69+
- other relevant details to support your proposal
70+
- add the GitHub label "enhancement" to your post
71+
72+
For documentation edits, include:
73+
74+
- current state, proposed state
75+
- if applicable, screenshots/casts
76+
- add the GitHub label "documentation" to your post
77+
78+
## Question or Problem
79+
80+
Sign up or log in to our [**Neural Magic Community Slack**](https://neuralmagic.com/community/). We are growing the community member by member and happy to see you there. Don’t forget to search through existing discussions to avoid duplication! Thanks!
81+
82+
## Developing GuideLLM
83+
84+
Made it this far? Review [Developing GuideLLM](DEVELOPING.md) to get started.

DEVELOPING.md

Lines changed: 166 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,166 @@
1+
<!--
2+
Copyright (c) 2021 - present / Neuralmagic, Inc. All Rights Reserved.
3+
4+
Licensed under the Apache License, Version 2.0 (the "License");
5+
you may not use this file except in compliance with the License.
6+
You may obtain a copy of the License at
7+
8+
http://www.apache.org/licenses/LICENSE-2.0
9+
10+
Unless required by applicable law or agreed to in writing,
11+
software distributed under the License is distributed on an "AS IS" BASIS,
12+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
See the License for the specific language governing permissions and
14+
limitations under the License.
15+
-->
16+
17+
# Developing GuideLLM
18+
19+
GuideLLM is developed and tested using Python 3.8-3.11.
20+
To develop GuideLLM, you will also need the development dependencies and to follow the styling guidelines.
21+
22+
Here are some details to get started.
23+
24+
## Basic Commands
25+
26+
**Development Installation**
27+
28+
```bash
29+
git clone https://github.com/neuralmagic/guidellm.git
30+
cd guidellm
31+
python3 -m pip install -e "./[dev]"
32+
```
33+
34+
This will clone the GuideLLM repo, install it, and install the development dependencies.
35+
36+
To develop framework specific features, you will also need the relevant framework packages.
37+
Those can be installed by adding the framework name to the install extras. Frameworks include
38+
`torch`, `keras`, and `tensorflow_v1`. For example:
39+
```bash
40+
python3 -m pip install -e "./[dev,torch]"
41+
```
42+
43+
Note: Running all pytorch tests using `make test TARGETS=torch`, also requires `torchvision`
44+
and `onnxruntime` install all these dependencies using `python3 -m pip install -e "./[dev, torch, torchvision, onnxruntime]"`
45+
46+
**Code Styling and Formatting checks**
47+
48+
```bash
49+
make style
50+
make quality
51+
```
52+
53+
This will run automatic code styling using `black` and `isort` and test that the
54+
repository's code matches its standards.
55+
56+
**EXAMPLE: test changes locally**
57+
58+
```bash
59+
make test TARGETS=<CSV of frameworks to run>
60+
```
61+
62+
This will run the targeted GuideLLM unit tests for the frameworks specified.
63+
The targets should be specified, because not all framework dependencies can be installed to run all tests.
64+
65+
To run just PyTorch tests, run
66+
```bash
67+
make test TARGETS=pytorch
68+
```
69+
70+
File any error found before changes as an Issue and fix any errors found after making changes before submitting a Pull Request.
71+
72+
## GitHub Workflow
73+
74+
1. Fork the `neuralmagic/guidellm` repository into your GitHub account: https://github.com/neuralmagic/guidellm/fork.
75+
76+
2. Clone your fork of the GitHub repository, replacing `<username>` with your GitHub username.
77+
78+
Use ssh (recommended):
79+
80+
```bash
81+
git clone [email protected]:<username>/guidellm.git
82+
```
83+
84+
Or https:
85+
86+
```bash
87+
git clone https://github.com/<username>/guidellm.git
88+
```
89+
90+
3. Add a remote to keep up with upstream changes.
91+
92+
```bash
93+
git remote add upstream https://github.com/neuralmagic/guidellm.git
94+
```
95+
96+
If you already have a copy, fetch upstream changes.
97+
98+
```bash
99+
git fetch upstream
100+
```
101+
102+
4. Create a feature branch to work in.
103+
104+
```bash
105+
git checkout -b feature-xxx remotes/upstream/main
106+
```
107+
108+
5. Work in your feature branch.
109+
110+
```bash
111+
git commit -a
112+
```
113+
114+
6. Periodically rebase your changes
115+
116+
```bash
117+
git pull --rebase
118+
```
119+
120+
7. When done, combine ("squash") related commits into a single one
121+
122+
```bash
123+
git rebase -i upstream/main
124+
```
125+
126+
This will open your editor and allow you to re-order commits and merge them:
127+
- Re-order the lines to change commit order (to the extent possible without creating conflicts)
128+
- Prefix commits using `s` (squash) or `f` (fixup) to merge extraneous commits.
129+
130+
8. Submit a pull-request
131+
132+
```bash
133+
git push origin feature-xxx
134+
```
135+
136+
Go to your fork main page
137+
138+
```bash
139+
https://github.com/<username>/guidellm
140+
```
141+
142+
If you recently pushed your changes GitHub will automatically pop up a `Compare & pull request` button for any branches you recently pushed to. If you click that button it will automatically offer you to submit your pull-request to the `neuralmagic/guidellm` repository.
143+
144+
- Give your pull-request a meaningful title.
145+
You'll know your title is properly formatted once the `Semantic Pull Request` GitHub check
146+
transitions from a status of "pending" to "passed".
147+
- In the description, explain your changes and the problem they are solving.
148+
149+
9. Addressing code review comments
150+
151+
Repeat steps 5. through 7. to address any code review comments and rebase your changes if necessary.
152+
153+
Push your updated changes to update the pull request
154+
155+
```bash
156+
git push origin [--force] feature-xxx
157+
```
158+
159+
`--force` may be necessary to overwrite your existing pull request in case your
160+
commit history was changed when performing the rebase.
161+
162+
Note: Be careful when using `--force` since you may lose data if you are not careful.
163+
164+
```bash
165+
git push origin --force feature-xxx
166+
```

MANIFEST.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
include LICENSE

Makefile

Whitespace-only changes.

docs/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
TODO

0 commit comments

Comments
 (0)