Skip to content

Releases: ZeroIntensity/view.py

1.0.0 Alpha 10

26 May 19:22
d3b2d3b
Compare
Choose a tag to compare

1.0.0 Alpha 10

Quickstart

This update suggests pipx as the installation tool! Install it through pipx with:

$ pipx install view.py

Or, if you want to do it the old way:

$ pip install -U view.py

What's new?

  • Added the view docs command
  • Added the websocket router (unfinished)
  • Added a startup message
  • Added support for daphne and hypercorn as servers
  • Added documentation for view.env and added environment variables to configuration
  • Added patterns loader to view init
  • Added build to config
  • Added the build_app and build_steps functions
  • Added the to_response function
  • Added preset values to the view.toml generated by view init
  • Added prettier input prompts to view init
  • Added HTML.from_file

Bug Fixes

  • Fixed fancy logging not exiting after a KeyboardInterrupt

Other Changes

  • Reworked internal logging API and changed default logger format
  • Removed dead file src/view/nodes.py and src/view/compiler.py
  • Route.__call__ is now used internally over Route.func
  • Made hijack optional in fancy mode
  • Updated internal C API structure
  • Improved type checking on functions decorated with a router function
  • Breaking Change: Middleware functions must now take call_next

Docs Change

This update switches over to mkdocs-material for the docs, but it is planned to use the custom theme again once it's cleaned up a bit.

1.0.0 Alpha 9

04 Feb 20:53
63f496e
Compare
Choose a tag to compare

1.0.0 Alpha 9

Quickstart

$ pip install -U view.py

Breaking Change

The body parameter in Response is now required. For example, the following code does not work on Alpha 9:

from view import new_app, Response

app = new_app()

@app.get("/")
def index():
    res = Response()
    return res

app.run()

What's New?

  • Added the context decorator and the Context type
  • Added the headers parameter to functions on TestingContext
  • Added Route.middleware
  • Added route and App.route
  • Added docstrings to router functions
  • Added the JSON response class
  • Added the custom body translate strategy
  • Added the extract_path utility
  • Added the view build command
  • Added App.template
  • Added compile_type and TCValidator
  • Added markdown and App.markdown
  • Added the Error class
  • Added the error_class parameter to both new_app and App
  • Added the ERROR_CODES constant

Bug Fixes

  • Fixed syntax errors in view init
  • Fixed template attribute with the view template renderer

Other Changes

  • Modified some behavior of automatic route inputs
  • Routes with equivalent paths but different methods now return 405 Method Not Allowed when accessed
  • Route errors now display the error message when dev is True
  • Changed exception rendering in route errors to use the rich renderer

Docs Change

Docs have been completely rewritten! Changes and fixes for it will roll out over time. You can check out the new docs at view.zintensity.dev

This update also introduces the View Insiders program! See the docs or my sponsors page for more info.

1.0.0 Alpha 8

22 Jan 03:22
4754092
Compare
Choose a tag to compare
  • Added optional dependencies for databases and templates
  • Added environment prefixes for database configuration
  • Added templates and TemplatesConfig to config
  • Added the templates function
  • Added support for attrs in type validation
  • Added documentation for caching
  • Added the cache_rate parameter to routers
  • Removed psutil and plotext as a global dependency
  • Added fancy optional dependencies
  • Fixed route inputs with synchronous routes
  • Breaking Change: Route inputs are now applied in the order of the decorator call as it appears in code

v1.0.0 Alpha 7

07 Dec 19:25
837d6bb
Compare
Choose a tag to compare
  • Remerged the new-init branch (didn't work properly the first time, for whatever reason).

1.0.0 Alpha 6

30 Nov 15:33
f511b23
Compare
Choose a tag to compare
  • Added get_app

  • Added documentation generation

  • Added database support (NOT FINISHED)

  • Added support for lists in type validation

  • Added support for implicit query parameters

  • Added debug, info, warning, error, and critical logging functions

  • Added InvalidRouteError, DuplicateRouteError, ViewInternalError, and ConfigurationError

  • Added logging functions to App

  • Added patterns loader

  • Added handling of relative paths in the configuration setting loader_path

  • Added path to PATH environment variable during loading

  • Added exists validation to loader_path

  • Removed attempt_import and MissingLibraryError

  • Renamed debug to enable_debug

  • Renamed EnvironmentError to BadEnvironmentError

  • Changed environment prefixes for configuration

  • Rewrote documentation

  • Upgraded view init

1.0.0 Alpha 5

25 Sep 14:05
ac37e90
Compare
Choose a tag to compare
  • Added app.query and app.body
  • Patched warning with starting app from incorrect filename
  • Updated __all__ for routing.py
  • Added view.Response and view.HTML
  • Fixed __view_result__
  • Added support for __view_body__ and __view_construct__
  • Added support for Pydantic, NamedTuple, and dataclasses for type validation
  • Support for direct union types (i.e. str | int, Union[str, int]) on type validation
  • Added support for non async routes

1.0.0 Alpha 4

10 Sep 16:50
5f8e975
Compare
Choose a tag to compare
  • Added type validation (without support for view_body)
  • Patched query strings on app testing
  • Added tests for query and body parameters
  • Patched body parameters
  • Documented type validation
  • Patched bodies with testing

1.0.0 Alpha 3

09 Sep 18:27
8ce6ef7
Compare
Choose a tag to compare
  • Patched header responses
  • Added tests for headers
  • Updated repr for Route
  • Patched responses with three values
  • Documented responses and result protocol

1.0.0 Alpha 2

09 Sep 16:34
e1826cc
Compare
Choose a tag to compare
  • Added App.test()
  • Added warning when filename does not match app_path
  • Added more tests
  • Upgrade CIBW to work on 3.11

Alpha Release

09 Sep 13:04
Compare
Choose a tag to compare
  • Configuration
  • Routing
  • Query, body, and path parameters
  • Components