From c91e2856d2559d547018ac11c00edfa408bbee91 Mon Sep 17 00:00:00 2001 From: Paul Hallett Date: Wed, 24 May 2023 09:26:07 +1200 Subject: [PATCH] Deployed 8b83e10 with MkDocs version: 1.4.3 --- diagram.jpg | Bin 0 -> 108513 bytes index.html | 1 + search/search_index.json | 2 +- sitemap.xml.gz | Bin 127 -> 127 bytes 4 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 diagram.jpg diff --git a/diagram.jpg b/diagram.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ddfa6fd744ee729451b601b47f1cddb1eb50c1a7 GIT binary patch literal 108513 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 z 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 z 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 z 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

wtk8T}sGVP2XU6LTO3O26;0VS@n% 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 literal 0 HcmV?d00001 diff --git a/index.html b/index.html index 145f70d..5d68279 100644 --- a/index.html +++ b/index.html @@ -365,6 +365,7 @@

đź’« Beckett framework

Beckett seamlessly combines the power of Flask, a popular Python web framework, with a robust React TypeScript web server, providing a comprehensive full stack framework. Unlike traditional project set ups, Beckett eliminates the need for an intermediary domain language because it tightly couples the Typed API interface, resulting in a more streamlined development process.

At its core, Beckett features a sophisticated types manager that automatically synchronizes Python Type hints and TypeScript interfaces. This means that as you make changes to your code, Beckett diligently keeps the API interface definitions in both languages in perfect harmony. Gone are the worries about compatibility issues when deploying changes—the Beckett framework ensures seamless deployments.

While Beckett is strongly opinionated, favoring specific design choices, it significantly enhances productivity by providing a cohesive development experience and reducing the time spent on manual synchronization.

+

beckett features

Harnessing Powerful Tools: Beckett's Foundation

Beckett harnesses the power of industry-leding tools by seamlessly integratin a Flask web server and a React TypeScript frontend into a unified framework.

Both TypeScript and Python hold their positions as two of the most widely used programming languages globally. As a result, they are frequently combined in various projects. diff --git a/search/search_index.json b/search/search_index.json index ff50e0c..530607a 100644 --- a/search/search_index.json +++ b/search/search_index.json @@ -1 +1 @@ -{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"\ud83d\udcab Beckett framework","text":"

The Efficient Framework for Building Type-Safe Python Web Servers and React TypeScript Websites

Welcome to Beckett, a solution for rapidly constructing type-safe Python web servers and React TypeScript websites while ensuring consistent typing interfaces across both languages.

Beckett seamlessly combines the power of Flask, a popular Python web framework, with a robust React TypeScript web server, providing a comprehensive full stack framework. Unlike traditional project set ups, Beckett eliminates the need for an intermediary domain language because it tightly couples the Typed API interface, resulting in a more streamlined development process.

At its core, Beckett features a sophisticated types manager that automatically synchronizes Python Type hints and TypeScript interfaces. This means that as you make changes to your code, Beckett diligently keeps the API interface definitions in both languages in perfect harmony. Gone are the worries about compatibility issues when deploying changes\u2014the Beckett framework ensures seamless deployments.

While Beckett is strongly opinionated, favoring specific design choices, it significantly enhances productivity by providing a cohesive development experience and reducing the time spent on manual synchronization.

"},{"location":"#harnessing-powerful-tools-becketts-foundation","title":"Harnessing Powerful Tools: Beckett's Foundation","text":"

Beckett harnesses the power of industry-leding tools by seamlessly integratin a Flask web server and a React TypeScript frontend into a unified framework.

Both TypeScript and Python hold their positions as two of the most widely used programming languages globally. As a result, they are frequently combined in various projects. However, setting up a smooth and efficient development environment that harmoniously integrates these languages can be a cumbersome and time-consuming process, often leading to a subpar developer experience.

Thankfully, Beckett steps in to solve this challenge by tightly coupling TypeScript and Python, uniting them as a cohesive framework.

"},{"location":"#unleasing-their-individual-potential","title":"Unleasing Their Individual Potential","text":"

Beckett recognizes that each language excels in different domains and allows you to leverage their strengths as needed. You can continue to write Flask views just as you would in a typical Flask application, benefiting from the extensive ecosystem of Python libraries that seamlessly integrate with Flask.

Simultaneously, you can harness the power of React TypeScript for your frontend development, providing an optimal solution. Write your React components and TypeScript code as you would in any other React application, and effortlessly incorporate any JavaScript library you desire by using yarn add to meet the specific requirements of your project.

Beckett empowers you to continue utilizing these languages individually, allowing you to take advantage of their distinctive capabilities while enjoying the enhanced development experience offered by the unified framework.

Wanna learn more? Start with the features to learn what Beckett brings to the table.

"},{"location":"configuration/","title":"\ud83d\udd27 Configuration","text":"

Beckett is heavily convention-based, yet you can configure quite a bit of it based on what your project set up needs.

"},{"location":"configuration/#settings","title":"Settings","text":"

All settings should be set as environment variables.

"},{"location":"configuration/#environment","title":"ENVIRONMENT","text":"

Default: development

When this variable is set to development in order to enable the Beckett hot-reloader and auto generation features.

"},{"location":"configuration/#beckett_metafile_path","title":"BECKETT_METAFILE_PATH","text":"

Defaut: {pwd}/metafile.json

The file tracks the manifest of React pages registered in the app, and enables hot-reloading in development. In production is provides a link between the Flask view function and the React page (because it will be generated with a hash that the Flask view function doesn't know about).

"},{"location":"configuration/#beckett_react_page_template","title":"BECKETT_REACT_PAGE_TEMPLATE","text":"

Default: {pwd}/template/beckett_page.template

This is the template used when generating new React pages.

"},{"location":"features/","title":"\ud83d\udcc4 Features","text":""},{"location":"features/#strongly-linked-types","title":"Strongly-linked types","text":"

When we built Beckett we decided that if we're going to bundle the languages together, why not link them strongly and find extra benefits?

The first major feature we built was strongly-linked types.

Beckett takes your Python Typehints and auto-generates TypeScript interfaces to maintain type integrity across both languages. It does this automatically for any API endpoints in the Flask web server using the Beckett decorators.

src/views/people.py
import attrs\nfrom src.app import app\nfrom src.beckett.blueprint import BeckettBlueprint\nfrom src.beckett.types import APIResponse\nblueprint = BeckettBlueprint(\"people\", __name__, url_prefix=\"/people\")\n@attrs.define\nclass GetPeopleResponse(APIResponse):\nname: str\n@blueprint.api_get(\"/get\")\ndef get_people() -> GetPeopleResponse:\n\"\"\"\n    This is an example API GET route.\n    \"\"\"\nreturn GetPeopleResponse(name=\"Paul\")\napp.register_blueprint(blueprint)\n

When the Beckett flask server is running, this will autogenerate the following TypeScript interface:

js/api/types.ts
/*\nTHIS FILE IS AUTO-GENERATED, DO NOT ALTER MANUALLY.\n*/\n// prettier-ignore\nexport interface PeopleGetPeopleResponse {\n\"__type__\": string\n\"__http_status_code__\": number\n\"name\": string\n}\n...\n

Beckett automatically adds additional parameters to any APIResponse object it such as __type__ and __http_status_code__. Beckett's TypeScript API Client uses these fields to introspect the API response and handle errors gracefully for you.

Under the hood, we use attrs and cattrs to take the types in the classes we define and transform them into their TypeScript equivalents.

"},{"location":"features/#react-pages","title":"React pages","text":"

Beckett will auto-generate any new React page when you register a new Beckett page in the Flask service, when you are in development mode. Beckett's is built such that a Flask route (defined through the URL of a Flask view function) can be linked directly to a React page on the frontend.

src/views/people.py
import attrs\nfrom src.app import app\nfrom src.beckett.blueprint import BeckettBlueprint\nbeckett = BeckettBlueprint(\"people\", __name__, url_prefix=\"/people\")\n# Hiding other endpoints for clarity\n...\n@attrs.define\nclass ExamplePageProps:\nhello: str\n@beckett.route(\"/\")\n@beckett.page()\ndef example_page() -> ExamplePageProps:\nreturn ExamplePageProps(hello=\"world\")\napp.register_blueprint(beckett)\n

When the Beckett Flask server is running in development mode it will recognise a new endpoint has been registered, and it makes a new React page linked to the Flask view. This is all handled by applying the @beckett.page() decorator.

The generated page will start something like this:

src/js/template/people/example_page.tsx
import React from 'react'\nimport PageProps from './example_page.type'\nimport {Container, Row} from 'react-bootstrap'\nconst Page: React.FunctionComponent<PageProps> = (props) => {\nreturn (\n<Container>\n<Row className=\"mb-4 border-bottom\">\n<h1>Hello, React!</h1>\n<p>\nhere are my props: <code>{props}</code>\n</p>\n</Row>\n</Container>\n)\n}\nexport default Page\n

The template can be customised by setting the BECKETT_REACT_PAGE_TEMPLATE environment variable to a path.

Once this has been generated you are free to go and develop the frontend using any React library you want.

"},{"location":"features/#props-for-react-pages","title":"Props for React pages","text":"

As well as the base page, beckett.page() also generates a PageProps interface. The response returned by the Flask view are injected as props into this page for you automatically. The generated file for the example above looks something like this:

src/js/template/people/example_page.type.ts
// This file is generated by @beckett.page()\n// prettier-ignore\nexport default interface PageProps {\n\"hello\": string\n}\n

This file will update automatically as you make changes to the Flask view response class and the server is in development mode.

"},{"location":"features/#api-client","title":"API Client","text":"

TODO

"},{"location":"features/#refresh-api-queries","title":"Refresh API queries","text":"

TODO

"},{"location":"features/#run-it-all-together-at-once","title":"Run it all together at once","text":"

Instead of maintaining multiple terminals running two different servers, Beckett provides a single development command to run both the Flask service and React server in development mode. Both are these run in \"hot reload\" - any code changes will restart each server so changes happen immediately.

make dev\n
"},{"location":"install/","title":"\ud83c\udfd7\ufe0f Install","text":""},{"location":"install/#early-days","title":"Early days","text":"

Currently the project is still being set up, but you can use it by forking the project and running the following commands:

make build\nmake dev\n

This will install everything you need and start the development server.

"},{"location":"types_conversion/","title":"\ud83c\udfb9 Types conversion","text":"

Remember! Beckett doesn't just convert one way.

API requests going into the Beckett Flask service will be checked for type consistency.

Beckett Framework uses Beckett types to manage types translation.

"},{"location":"types_conversion/#conversion-chart","title":"Conversion chart","text":"

We translate Python TypeHints into these TypeScript types, and vice versa:

Python TypeScript str string int number float number decimal.Decimal number dict Record<string, any>"},{"location":"types_conversion/#nested-types","title":"Nested types","text":"

Nested attrs classes are converted infinitely:

example.py
@attrs.define\nclass Subclass:\nhello: str\n@attrs.define\nclass ExamplePageProps:\ntest: Subclass\n

Which generates:

types.ts
// prettier-ignore\nexport interface Subclass {\n\"hello\": string\n}\n// prettier-ignore\nexport default interface PageProps {\n\"test\": Subclass\n}\n
"}]} \ No newline at end of file +{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"\ud83d\udcab Beckett framework","text":"

The Efficient Framework for Building Type-Safe Python Web Servers and React TypeScript Websites

Welcome to Beckett, a solution for rapidly constructing type-safe Python web servers and React TypeScript websites while ensuring consistent typing interfaces across both languages.

Beckett seamlessly combines the power of Flask, a popular Python web framework, with a robust React TypeScript web server, providing a comprehensive full stack framework. Unlike traditional project set ups, Beckett eliminates the need for an intermediary domain language because it tightly couples the Typed API interface, resulting in a more streamlined development process.

At its core, Beckett features a sophisticated types manager that automatically synchronizes Python Type hints and TypeScript interfaces. This means that as you make changes to your code, Beckett diligently keeps the API interface definitions in both languages in perfect harmony. Gone are the worries about compatibility issues when deploying changes\u2014the Beckett framework ensures seamless deployments.

While Beckett is strongly opinionated, favoring specific design choices, it significantly enhances productivity by providing a cohesive development experience and reducing the time spent on manual synchronization.

"},{"location":"#harnessing-powerful-tools-becketts-foundation","title":"Harnessing Powerful Tools: Beckett's Foundation","text":"

Beckett harnesses the power of industry-leding tools by seamlessly integratin a Flask web server and a React TypeScript frontend into a unified framework.

Both TypeScript and Python hold their positions as two of the most widely used programming languages globally. As a result, they are frequently combined in various projects. However, setting up a smooth and efficient development environment that harmoniously integrates these languages can be a cumbersome and time-consuming process, often leading to a subpar developer experience.

Thankfully, Beckett steps in to solve this challenge by tightly coupling TypeScript and Python, uniting them as a cohesive framework.

"},{"location":"#unleasing-their-individual-potential","title":"Unleasing Their Individual Potential","text":"

Beckett recognizes that each language excels in different domains and allows you to leverage their strengths as needed. You can continue to write Flask views just as you would in a typical Flask application, benefiting from the extensive ecosystem of Python libraries that seamlessly integrate with Flask.

Simultaneously, you can harness the power of React TypeScript for your frontend development, providing an optimal solution. Write your React components and TypeScript code as you would in any other React application, and effortlessly incorporate any JavaScript library you desire by using yarn add to meet the specific requirements of your project.

Beckett empowers you to continue utilizing these languages individually, allowing you to take advantage of their distinctive capabilities while enjoying the enhanced development experience offered by the unified framework.

Wanna learn more? Start with the features to learn what Beckett brings to the table.

"},{"location":"configuration/","title":"\ud83d\udd27 Configuration","text":"

Beckett is heavily convention-based, yet you can configure quite a bit of it based on what your project set up needs.

"},{"location":"configuration/#settings","title":"Settings","text":"

All settings should be set as environment variables.

"},{"location":"configuration/#environment","title":"ENVIRONMENT","text":"

Default: development

When this variable is set to development in order to enable the Beckett hot-reloader and auto generation features.

"},{"location":"configuration/#beckett_metafile_path","title":"BECKETT_METAFILE_PATH","text":"

Defaut: {pwd}/metafile.json

The file tracks the manifest of React pages registered in the app, and enables hot-reloading in development. In production is provides a link between the Flask view function and the React page (because it will be generated with a hash that the Flask view function doesn't know about).

"},{"location":"configuration/#beckett_react_page_template","title":"BECKETT_REACT_PAGE_TEMPLATE","text":"

Default: {pwd}/template/beckett_page.template

This is the template used when generating new React pages.

"},{"location":"features/","title":"\ud83d\udcc4 Features","text":""},{"location":"features/#strongly-linked-types","title":"Strongly-linked types","text":"

When we built Beckett we decided that if we're going to bundle the languages together, why not link them strongly and find extra benefits?

The first major feature we built was strongly-linked types.

Beckett takes your Python Typehints and auto-generates TypeScript interfaces to maintain type integrity across both languages. It does this automatically for any API endpoints in the Flask web server using the Beckett decorators.

src/views/people.py
import attrs\nfrom src.app import app\nfrom src.beckett.blueprint import BeckettBlueprint\nfrom src.beckett.types import APIResponse\nblueprint = BeckettBlueprint(\"people\", __name__, url_prefix=\"/people\")\n@attrs.define\nclass GetPeopleResponse(APIResponse):\nname: str\n@blueprint.api_get(\"/get\")\ndef get_people() -> GetPeopleResponse:\n\"\"\"\n    This is an example API GET route.\n    \"\"\"\nreturn GetPeopleResponse(name=\"Paul\")\napp.register_blueprint(blueprint)\n

When the Beckett flask server is running, this will autogenerate the following TypeScript interface:

js/api/types.ts
/*\nTHIS FILE IS AUTO-GENERATED, DO NOT ALTER MANUALLY.\n*/\n// prettier-ignore\nexport interface PeopleGetPeopleResponse {\n\"__type__\": string\n\"__http_status_code__\": number\n\"name\": string\n}\n...\n

Beckett automatically adds additional parameters to any APIResponse object it such as __type__ and __http_status_code__. Beckett's TypeScript API Client uses these fields to introspect the API response and handle errors gracefully for you.

Under the hood, we use attrs and cattrs to take the types in the classes we define and transform them into their TypeScript equivalents.

"},{"location":"features/#react-pages","title":"React pages","text":"

Beckett will auto-generate any new React page when you register a new Beckett page in the Flask service, when you are in development mode. Beckett's is built such that a Flask route (defined through the URL of a Flask view function) can be linked directly to a React page on the frontend.

src/views/people.py
import attrs\nfrom src.app import app\nfrom src.beckett.blueprint import BeckettBlueprint\nbeckett = BeckettBlueprint(\"people\", __name__, url_prefix=\"/people\")\n# Hiding other endpoints for clarity\n...\n@attrs.define\nclass ExamplePageProps:\nhello: str\n@beckett.route(\"/\")\n@beckett.page()\ndef example_page() -> ExamplePageProps:\nreturn ExamplePageProps(hello=\"world\")\napp.register_blueprint(beckett)\n

When the Beckett Flask server is running in development mode it will recognise a new endpoint has been registered, and it makes a new React page linked to the Flask view. This is all handled by applying the @beckett.page() decorator.

The generated page will start something like this:

src/js/template/people/example_page.tsx
import React from 'react'\nimport PageProps from './example_page.type'\nimport {Container, Row} from 'react-bootstrap'\nconst Page: React.FunctionComponent<PageProps> = (props) => {\nreturn (\n<Container>\n<Row className=\"mb-4 border-bottom\">\n<h1>Hello, React!</h1>\n<p>\nhere are my props: <code>{props}</code>\n</p>\n</Row>\n</Container>\n)\n}\nexport default Page\n

The template can be customised by setting the BECKETT_REACT_PAGE_TEMPLATE environment variable to a path.

Once this has been generated you are free to go and develop the frontend using any React library you want.

"},{"location":"features/#props-for-react-pages","title":"Props for React pages","text":"

As well as the base page, beckett.page() also generates a PageProps interface. The response returned by the Flask view are injected as props into this page for you automatically. The generated file for the example above looks something like this:

src/js/template/people/example_page.type.ts
// This file is generated by @beckett.page()\n// prettier-ignore\nexport default interface PageProps {\n\"hello\": string\n}\n

This file will update automatically as you make changes to the Flask view response class and the server is in development mode.

"},{"location":"features/#api-client","title":"API Client","text":"

TODO

"},{"location":"features/#refresh-api-queries","title":"Refresh API queries","text":"

TODO

"},{"location":"features/#run-it-all-together-at-once","title":"Run it all together at once","text":"

Instead of maintaining multiple terminals running two different servers, Beckett provides a single development command to run both the Flask service and React server in development mode. Both are these run in \"hot reload\" - any code changes will restart each server so changes happen immediately.

make dev\n
"},{"location":"install/","title":"\ud83c\udfd7\ufe0f Install","text":""},{"location":"install/#early-days","title":"Early days","text":"

Currently the project is still being set up, but you can use it by forking the project and running the following commands:

make build\nmake dev\n

This will install everything you need and start the development server.

"},{"location":"types_conversion/","title":"\ud83c\udfb9 Types conversion","text":"

Remember! Beckett doesn't just convert one way.

API requests going into the Beckett Flask service will be checked for type consistency.

Beckett Framework uses Beckett types to manage types translation.

"},{"location":"types_conversion/#conversion-chart","title":"Conversion chart","text":"

We translate Python TypeHints into these TypeScript types, and vice versa:

Python TypeScript str string int number float number decimal.Decimal number dict Record<string, any>"},{"location":"types_conversion/#nested-types","title":"Nested types","text":"

Nested attrs classes are converted infinitely:

example.py
@attrs.define\nclass Subclass:\nhello: str\n@attrs.define\nclass ExamplePageProps:\ntest: Subclass\n

Which generates:

types.ts
// prettier-ignore\nexport interface Subclass {\n\"hello\": string\n}\n// prettier-ignore\nexport default interface PageProps {\n\"test\": Subclass\n}\n
"}]} \ No newline at end of file diff --git a/sitemap.xml.gz b/sitemap.xml.gz index 119bd6d493400c4dc47b8ba730823bb74d073dce..e14f19749202e921acf3ef044a4b34b40c2fcd86 100644 GIT binary patch delta 13 Ucmb=gXP58h;K