Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentation: Update change log for upcoming version 3.0.0 #552

Merged
merged 2 commits into from
Oct 31, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,62 @@ this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm

## [Unreleased]

## [v3.0.0] - 2024-11-xx

### Added

- Platform: Added support for Python 3.10 - Python 3.13
- Platform: Verified support for macOS and Windows
- CLI: `responder run` now also accepts a filesystem path on its `<target>`
argument, enabling usage on single-file applications. Beforehand, only
invocations of Python modules were possible.
```shell
# Start Responder application defined in Python module.
responder run acme.app:api

# Start Responder application defined in a single Python file.
responder run examples/helloworld.py:api
```

### Changed

- Core: Updated API requests from GET to POST
- Extensions: All of CLI-, GraphQL-, and OpenAPI-Support
modules are extensions to Responder now, to be found within the
`responder.ext` module namespace. Their runtime dependencies
must be installed explicitly using Python package extras.
```shell
pip install 'responder[cli]'
pip install 'responder[graphql]'
pip install 'responder[openapi]'
```
- Extensions: They are no longer available through the package's
top-level module namespace. From now on, import them explicitly
from `responder.ext`.
```python
from responder.ext.cli import cli
from responder.ext.graphql import GraphQLView
from responder.ext.openapi import OpenAPISchema
```
- Dependencies: Modernized and trimmed list of runtime dependencies
- Dependencies: Switched from WhiteNoise to ServeStatic
Comment on lines +47 to +48
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

Fix duplicate word "Dependencies"

Combine the two bullet points to avoid repetition:

-Dependencies: Modernized and trimmed list of runtime dependencies
-Dependencies: Switched from WhiteNoise to ServeStatic
+Dependencies: 
+- Modernized and trimmed list of runtime dependencies
+- Switched from WhiteNoise to ServeStatic
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- Dependencies: Modernized and trimmed list of runtime dependencies
- Dependencies: Switched from WhiteNoise to ServeStatic
Dependencies:
- Modernized and trimmed list of runtime dependencies
- Switched from WhiteNoise to ServeStatic
🧰 Tools
🪛 LanguageTool

[duplication] ~47-~47: Possible typo: you repeated a word
Context: ... Modernized and trimmed list of runtime dependencies - Dependencies: Switched from WhiteNoise to ServeStati...

(ENGLISH_WORD_REPEAT_RULE)

- Sandbox: Modernized development sandbox installation and documentation

### Removed

- CLI: `responder run --build` ceased to exist, because `responder build`
now also accepts an optional `<target>` argument, that overlaps with
the `<target>` argument of `responder run`, but is semantically different,
as the former accepts a filesystem directory to the `package.json` file,
but the latter expects a Python entrypoint specification.

### Fixed

- Routing: Fixed dispatching `static_route=None` on Windows
- uvicorn: Recent `uvicorn.run()` method lacks the `debug` argument. Now,
using `--debug` will map to uvicorn's `log_level = "debug"`.
- GraphQL: Improved dependency pinning to match Responder's needs

## [v2.0.5] - 2019-12-15

### Added
Expand Down
11 changes: 6 additions & 5 deletions docs/source/sandbox.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,21 @@ Set up a development sandbox.

Acquire sources and create virtualenv.
```shell
git clone https://github.com/kennethreitz/responder
git clone https://github.com/kennethreitz/responder.git
cd responder
python3 -m venv .venv
source .venv/bin/activate
uv venv
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

Add context for uv tool and provide alternatives.

The uv tool might not be available for all users. Consider:

  1. Adding a brief explanation of what uv is
  2. Including installation instructions for uv
  3. Providing alternative commands using standard tools
+# Install uv (if not already installed)
+pip install uv
+
+# Create virtual environment (choose one method):
+# Using uv (recommended for faster installation):
 uv venv
+
+# Or using standard tools:
+python -m venv .venv
+source .venv/bin/activate  # On Unix/macOS
+# or
+.venv\Scripts\activate  # On Windows
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
uv venv
# Install uv (if not already installed)
pip install uv
# Create virtual environment (choose one method):
# Using uv (recommended for faster installation):
uv venv
# Or using standard tools:
python -m venv .venv
source .venv/bin/activate # On Unix/macOS
# or
.venv\Scripts\activate # On Windows

```

Install project in editable mode.
Install project in editable mode, including
all runtime extensions and development tools.
```shell
pip install --editable '.[full,develop,docs,release,test]'
uv pip install --editable '.[full,develop,docs,release,test]'
```

## Operations
Invoke linter and software tests.
```shell
source .venv/bin/activate
poe check
Comment on lines +23 to 24
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

Improve operations section documentation.

The section needs improvements for clarity and cross-platform compatibility:

  1. The virtual environment activation command is platform-specific
  2. The poe command is used without explanation
+# Ensure your virtual environment is activated:
+# On Unix/macOS:
 source .venv/bin/activate
+# On Windows:
+.venv\Scripts\activate
+
+# Install poethepoet if not already installed:
+pip install poethepoet
+
+# Run checks (linting and tests):
 poe check
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
source .venv/bin/activate
poe check
# Ensure your virtual environment is activated:
# On Unix/macOS:
source .venv/bin/activate
# On Windows:
.venv\Scripts\activate
# Install poethepoet if not already installed:
pip install poethepoet
# Run checks (linting and tests):
poe check

```

Expand Down
Loading