Skip to content

docs(blog): running python with WebAssembly part 1#823

Merged
michael-0acf4 merged 10 commits intomainfrom
met-644-docs-add-a-descriptive-blog-part-1
Sep 23, 2024
Merged

docs(blog): running python with WebAssembly part 1#823
michael-0acf4 merged 10 commits intomainfrom
met-644-docs-add-a-descriptive-blog-part-1

Conversation

@michael-0acf4
Copy link
Copy Markdown
Contributor

@michael-0acf4 michael-0acf4 commented Aug 26, 2024

Running python with webassembly (part 1)

Migration notes

None

  • The change comes with new or modified tests
  • Hard-to-understand functions have explanatory comments
  • End-user documentation is updated to reflect the change

Summary by CodeRabbit

Summary by CodeRabbit

  • New Features

    • Introduced a comprehensive guide for integrating Python runtime with WebAssembly (WASI) in the Metatype ecosystem.
    • Detailed the advantages of using WebAssembly over Docker for platform independence and resource management.
    • Provided technical requirements and a refined solution for executing Python scripts in a sandboxed environment.
    • Expanded vocabulary with new relevant terms for enhanced text processing and validation.
  • Documentation

    • Updated YAML configuration structure in documentation for clarity on type gate usage.

@linear
Copy link
Copy Markdown

linear Bot commented Aug 26, 2024

@michael-0acf4
Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Aug 26, 2024

Walkthrough

The new documentation introduces a guide for integrating a Python runtime with the metatype ecosystem using WebAssembly (WASI). It covers the motivations for this integration, technical requirements, and implementation strategies, including the use of Docker and WebAssembly for platform independence. The guide addresses challenges such as security and user-friendliness, and provides a Rust code snippet for initializing the Python virtual machine within the WASI context.

Changes

File Path Change Summary
website/blog/2024-08-26-how-we-run-python-using-webassembly/index.mdx Introduces a guide on integrating Python with WebAssembly (WASI), covering rationale, constraints, technical requirements, and implementation strategies. Provides code snippets and discusses the use of Docker and WebAssembly.
.ghjk/lock.json Modifications to environment variable keys and values, including updates to envKey and SYNC_REDIS_URL.
docs/metatype.dev/blog/2024-08-26-python-on-webassembly/index.mdx Details the integration of Python with WebAssembly, discussing challenges, use of PyO3, WASI, and performance optimizations.
docs/metatype.dev/blog/2024-08-27-distributed-execution-flow-paradigms/index.mdx Changes typegates to typegate in YAML configuration, indicating a shift in type gate definition.
docs/metatype.dev/vale/config/vocabularies/Metatype/accept.txt New vocabulary entries added, including terms like "wasm," "Github," and "CPython."

Sequence Diagram(s)

sequenceDiagram
    participant Developer
    participant WASI
    participant PythonVM
    participant Docker

    Developer->>Docker: Set up environment
    Docker->>WASI: Initialize WebAssembly
    WASI->>PythonVM: Load Python runtime
    PythonVM-->>WASI: Ready to execute scripts
    Developer->>PythonVM: Execute Python script
    PythonVM-->>Developer: Return results
Loading

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    -- I pushed a fix in commit <commit_id>, please review it.
    -- Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    -- @coderabbitai generate unit testing code for this file.
    -- @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    -- @coderabbitai generate interesting stats about this repository and render them as a table.
    -- @coderabbitai read src/utils.ts and generate unit testing code.
    -- @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    -- @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

Outside diff range, codebase verification and nitpick comments (3)
website/blog/2024-08-26-how-we-run-python-using-webassembly/index.mdx (3)

10-18: Fix typographical issue.

Add a comma before "and" in line 16.

- which, as you may know, is very popular and its standard library can be quite resourceful for this type of use case.
+ which, as you may know, is very popular, and its standard library can be quite resourceful for this type of use case.
Tools
LanguageTool

[uncategorized] ~16-~16: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ... which, as you may know, is very popular and its standard library can be quite resou...

(COMMA_COMPOUND_SENTENCE_2)


21-27: Fix typographical issue.

Correct the typo in line 27: "writting" should be "writing".

- 3. **User-friendliness**: writting a function in one langauge should be as near identical as writting one in another
+ 3. **User-friendliness**: writing a function in one language should be as near identical as writing one in another

29-37: Fix typographical issues.

Correct the issues in lines 29, 31, and 34:

- ## Choosing an approach..
+ ## Choosing an approach.

- Let's start simple, we want to run python code so what do we need?
+ Let's start simple, we want to run python code, so what do we need?

- We do not want to be platform dependent, but how can we achieve that?
+ We do not want to be platform-dependent, but how can we achieve that?
Tools
LanguageTool

[typographical] ~29-~29: Two consecutive dots
Context: ... one in another ## Choosing an approach.. Let's start simple, we want to run pyt...

(DOUBLE_PUNCTUATION)


[uncategorized] ~31-~31: Use a comma before ‘so’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...start simple, we want to run python code so what do we need? * A python runtime We...

(COMMA_COMPOUND_SENTENCE_2)


[uncategorized] ~34-~34: This expression is ususally spelled with a hyphen
Context: ... A python runtime We do not want to be platform dependent, but how can we achieve that? * docker ...

(SPECIFIC_HYPHEN)

zifeo
zifeo previously approved these changes Aug 27, 2024
Copy link
Copy Markdown
Member

@zifeo zifeo left a comment

Choose a reason for hiding this comment

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

Maybe uppercasing the tech name? e.g. Metatype, Deno?

Copy link
Copy Markdown
Contributor

@Yohe-Am Yohe-Am left a comment

Choose a reason for hiding this comment

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

I like what's there so far but I have some comments. Willing to address them myself if you don't mind. Might have to rework the structure to better introduce the second section.

Comment thread website/blog/2024-08-26-how-we-run-python-using-webassembly/index.mdx Outdated
Comment thread website/blog/2024-08-26-how-we-run-python-using-webassembly/index.mdx Outdated
Comment thread website/blog/2024-08-26-how-we-run-python-using-webassembly/index.mdx Outdated
@michael-0acf4
Copy link
Copy Markdown
Contributor Author

I like what's there so far but I have some comments. Willing to address them myself if you don't mind. Might have to rework the structure to better introduce the second section.

@Yohe-Am feel free to do so, I sort of wrote it in a way that it can be merged as is.

@michael-0acf4 michael-0acf4 changed the title docs(blog): running python with webassembly part 1 docs(blog): running python with WebAssembly part 1 Aug 29, 2024
Natoandro
Natoandro previously approved these changes Aug 29, 2024
Comment thread website/blog/2024-08-26-how-we-run-python-using-webassembly/index.mdx Outdated
Comment thread website/blog/2024-08-26-how-we-run-python-using-webassembly/index.mdx Outdated
@Yohe-Am Yohe-Am force-pushed the met-644-docs-add-a-descriptive-blog-part-1 branch from 2751c00 to bd05016 Compare September 4, 2024 07:17
@Yohe-Am
Copy link
Copy Markdown
Contributor

Yohe-Am commented Sep 4, 2024

@coderabbitai review

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Outside diff range, codebase verification and nitpick comments (7)
docs/metatype.dev/vale/config/vocabularies/Metatype/accept.txt (1)

39-39: Fix the spelling of "GitHub".

The term "GitHub" is typically spelled with a capital "H".

Apply this diff to fix the spelling:

-Github
+GitHub
docs/metatype.dev/blog/2024-08-26-python-on-webassembly/index.mdx (6)

5-24: Fix the grammatical and punctuation issues.

Please address the following:

  • Line 10: Add a comma after "AWS Lambda is one such example" to separate the independent clauses.
  • Line 10: Replace "are" with "is" in "FaaS as a whole are a popular implementation".
  • Line 20: Add a comma after "Implementing the DenoRuntime was a very straightforward affair".
  • Line 23: Add a comma after "dominance of JavaScript in the serverless market".
  • Line 25: Add a comma after "Another very popular language is Python".
Tools
LanguageTool

[uncategorized] ~10-~10: Possible missing comma found.
Context: ...d configuration. AWS Lambda is one such example and FaaS as a whole are a popular imple...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~10-~10: The verb “are” doesn’t seem to fit in this context, “is” is probably more formally correct.
Context: ...is one such example and FaaS as a whole are a popular implementation of the serverl...

(AI_HYDRA_LEO_CPT_ARE_IS)


[uncategorized] ~16-~16: Use a comma before ‘but’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... typegraphs on a single deployed cluster but we're still in the kitchen on a hosted ...

(COMMA_COMPOUND_SENTENCE)


[uncategorized] ~20-~20: Possible missing comma found.
Context: ...DenoRuntime` was a very straightforward affair as the Typegate (the orchestrator at th...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~23-~23: Possible missing comma found.
Context: ...minance of JavaScript in the serverless market though it doesn't hurt that it's also t...

(AI_HYDRA_LEO_MISSING_COMMA)


28-36: Minor punctuation improvements.

Consider the following:

  • Line 30: Add a comma before "but" in "There are a number of Python runtimes available but a set of extra factors limit what we can achieve."
  • Line 35: Add a comma after "parts of the app running on the Typegate" to separate the independent clause.
Tools
LanguageTool

[uncategorized] ~30-~30: Use a comma before ‘but’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...re a number of Python runtimes available but a set of extra factors limit what we ca...

(COMMA_COMPOUND_SENTENCE_2)


[uncategorized] ~35-~35: Possible missing comma found.
Context: ...o other parts of the app running on the Typegate like being able to invoke other functio...

(AI_HYDRA_LEO_MISSING_COMMA)


37-51: Improve wording and punctuation.

Please consider the following changes:

  • Line 39: Replace "multi-processing" with "multiprocessing".
  • Line 39: Consider replacing "readily apparent" with a shorter alternative to avoid wordiness.
  • Line 42: Add a comma after "The PyO3 project which provide Rust bindings to different Python runtimes like CPython and PyPy."
  • Line 43: Add a comma before "but" and fix verb form in "It'd not only allow us to run Python code in-process but it also provide an easy way to expose the functions written in Rust to Python and vice-versa." It should be "...but it also provides...".
  • Line 48: Replace "a executable" with "an executable".
Tools
LanguageTool

[misspelling] ~39-~39: This word is normally spelled as one.
Context: ...nk Linux containers. This fact renders multi-processing, one of the readily apparent approaches...

(EN_COMPOUNDS_MULTI_PROCESSING)


[style] ~39-~39: ‘readily apparent’ might be wordy. Consider a shorter alternative.
Context: ...ct renders multi-processing, one of the readily apparent approaches, undesirable as it would req...

(EN_WORDINESS_PREMIUM_READILY_APPARENT)


[uncategorized] ~42-~42: Possible missing comma found.
Context: ...lf here is the PyO3 project which provide Rust bindings to differen...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~43-~43: Use a comma before ‘but’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...y allow us to run Python code in-process but it also provide an easy way to expose t...

(COMMA_COMPOUND_SENTENCE)


[grammar] ~43-~43: After ‘it’, use the third-person verb form “provides”.
Context: ... run Python code in-process but it also provide an easy way to expose the functions wri...

(IT_VBZ)


[grammar] ~43-~43: The expression “vice versa” is spelled without hyphens.
Context: ...functions written in Rust to Python and vice-versa. A good solution for the bidirectional...

(VICE_VERSA)


[style] ~44-~44: Consider using a different adjective in this context to strengthen your wording.
Context: ...en in Rust to Python and vice-versa. A good solution for the bidirectional communic...

(GOOD_ALTERNATIVE)


[misspelling] ~48-~48: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’.
Context: ...ture. WebAssembly or Wasm for short is a executable bytecode format that origina...

(EN_A_VS_AN)


52-67: Improve grammar, punctuation and wording.

Please address the following:

  • Line 54: Add a comma after "but also" in "but also, in it's latest iteration extends to any custom host defined functionality."
  • Line 60: Add a comma after "preview1)" implementation was supported by most runtimes".
  • Line 60: Consider replacing "In order to" with a shorter alternative to avoid wordiness.
  • Line 63: Fix typo: "An based native API" should be "A based native API".
  • Line 65: Replace "ticks of" with "ticks off".
  • Line 65: Remove redundant "of" in "ticks of all of the sandboxing".
Tools
LanguageTool

[uncategorized] ~54-~54: Possible missing comma found.
Context: ...and networking but also, in it's latest iteration extends to any custom host defined func...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~60-~60: Possible missing comma found.
Context: ...)" implementation was supported by most runtimes which meant having to rely on simple C ...

(AI_HYDRA_LEO_MISSING_COMMA)


[style] ~60-~60: Consider a shorter alternative to avoid wordiness.
Context: ...ns for intra-process communication. In order to make this work easier, we elected to br...

(IN_ORDER_TO_PREMIUM)


[misspelling] ~63-~63: Use “A” instead of ‘An’ if the following word doesn’t start with a vowel sound, e.g. ‘a sentence’, ‘a university’.
Context: ...e python interpreter wrapped in a PyO3. An based native API. \ An assembly that ac...

(EN_A_VS_AN)


[uncategorized] ~65-~65: “of” seems less likely than “off” (as in: go/turn off, off the coast).
Context: ...asmedge.org/) in this case, which ticks of all of the sandboxing and security requ...

(AI_HYDRA_LEO_CP_OF_OFF)


[style] ~65-~65: Consider removing “of” to be more concise
Context: ...edge.org/) in this case, which ticks of all of the sandboxing and security requirements. T...

(ALL_OF_THE)


70-109: Minor grammar improvements.

Consider the following changes:

  • Line 72: Add "to" in "we'll need to find a way to load libpython at runtime." It should be "we'll need to find a way to load libpython at runtime."
  • Line 81: Add a comma before "but" in "This approach turned out to be quite hacky though and after encountering several issues, we ultimately decided to go with preopens."
Tools
LanguageTool

[uncategorized] ~72-~72: Possible missing preposition found.
Context: ...ython runtime, we'll need to find a way load libpython at runtime. Thankfully, Was...

(AI_HYDRA_LEO_MISSING_TO)


[uncategorized] ~72-~72: The preposition ‘to’ seems more likely in this position.
Context: ...'ll need to find a way load libpython at runtime. Thankfully, Wasm does support ...

(AI_HYDRA_LEO_REPLACE_AT_TO)


[uncategorized] ~81-~81: Use a comma before ‘but’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...file on disk before running the instance but it was an acceptable solution. We also ...

(COMMA_COMPOUND_SENTENCE)


111-223: Final improvements.

Please consider the following changes:

  • Line 117: Replace "it should possible" with "it should be possible".
  • Line 120: Add a hyphen in "new found WASI powers". It should be "new-found WASI powers".
  • Line 120: Fix subject-verb agreement in "This lead us to implement..." It should be "This led us to..."
  • Line 122: Replace "it's" with "its" in "reproduced down below in it's entirety."
  • Line 193: Add a comma after "boundary though" in "doing a bit more than acting as a boundary though."
  • Line 196: Replace "anyways" with "anyway".
  • Line 199: Add "a" in "It has code generation suite". It should be "It has a code generation suite".
  • Line 203: Add a comma after "for the resulting component" in "for the resulting component baking the libpython object code".
  • Line 206: Add a comma before "but" in "interface on the Typegate but this implementation".
  • Line 213: Remove redundant "only" in "Sure, you only pay this cost only the first time".
  • Line 214: Add "a" in "10 second is unacceptable in system". It should be "10 second is unacceptable in a system".
  • Line 217: Add a comma after "here specifically" in "feature comes to the rescue here specifically their [AOT compilation]".
  • Line 219: Add a comma after "the JIT cost" in "This eliminates the JIT cost but the nature".
  • Line 219: Replace "safe-guards" with "safeguards".
  • Line 220: Add a comma after "Typegate binary itself" in "compressing it) in the Typegate binary itself ensuring minimal".
  • Line 223: Add a comma before "and" in "Hopefully, all details were clear enough and please direct any feedback".
Tools
LanguageTool

[style] ~114-~114: Consider an alternative for the overused word “exactly”.
Context: ...re always ready to get rid of. This was exactly what we did after the Bytecode Alliance...

(EXACTLY_PRECISELY)


[grammar] ~117-~117: It looks like a verb is missing here. Did you mean “be possible”?
Context: ...new capabilities suggest that it should possible to replace our PyO3 based glue code wit...

(MISSING_BE_JJ)


[misspelling] ~120-~120: This word is normally spelled with a hyphen.
Context: ...yer. Let's see how. We first used the new found WASI powers to implement support for Wa...

(EN_COMPOUNDS_NEW_FOUND)


[uncategorized] ~120-~120: This expression is usually spelled with a hyphen.
Context: ...nd WASI powers to implement support for Wasm based functions through the [WasmRuntime](/...

(BASED_HYPHEN)


[grammar] ~120-~120: Possible subject-verb agreement error detected.
Context: ...ntime](/docs/reference/runtimes/wasm). This lead us to implement the [wit_wire`](https:...

(THIS_THAT_AGR)


[uncategorized] ~121-~121: This expression is usually spelled with a hyphen.
Context: ...rc/wit/wit-wire.wit) protocol, a simple JSON based WIT interface that'd be used by any was...

(BASED_HYPHEN)


[uncategorized] ~122-~122: Did you mean “its” (the possessive pronoun)?
Context: ...ough that it's reproduced down below in it's entirety. ```wit package metatype:wit-...

(ITS_PREMIUM)


[uncategorized] ~187-~187: Possible missing comma found.
Context: ...at-wire; } ``` Squint your eyes tight enough and the wit_wire protocol as implemen...

(AI_HYDRA_LEO_MISSING_COMMA)


[typographical] ~193-~193: It seems that a comma is missing.
Context: ...ing a bit more than acting as a boundary though. It was also responsible for setting up...

(THOUGH_COMMA)


[misspelling] ~195-~195: This word is normally spelled as one.
Context: ...the user's Python snippets which are in free standing lambda form. How does one create com...

(EN_COMPOUNDS_FREE_STANDING)


[style] ~196-~196: The word ‘anyways’ is informal American English. Did you mean “anyway”?
Context: ...oes one create components out of Python anyways? [componentize-py](https://github.co...

(ANYWAYS)


[uncategorized] ~199-~199: Possible missing article found.
Context: ...nts that are authored in Python. It has code generation suite that emits guest bindi...

(AI_HYDRA_LEO_MISSING_A)


[uncategorized] ~203-~203: Possible missing comma found.
Context: ...e the actual preopens for the resulting component baking the libpython object code into...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~206-~206: Use a comma before ‘but’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...the wit_wire interface on the Typegate but this implementation is general across b...

(COMMA_COMPOUND_SENTENCE_2)


[style] ~213-~213: This adverb was used twice in the sentence. Consider removing one of them or replacing them with a synonym.
Context: ...r and all. Sure, you only pay this cost only the first time you load the Python runt...

(ADVERB_REPETITION_PREMIUM)


[uncategorized] ~213-~213: Possible missing comma found.
Context: ...odule as Wasmtime has great support for caching including on-disk caching. But 10 secon...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~214-~214: Possible missing article found.
Context: ...ching. But 10 second is unacceptable in system that primarily serves HTTP requests as ...

(AI_HYDRA_LEO_MISSING_A)


[uncategorized] ~214-~214: Possible missing comma found.
Context: ...le in system that primarily serves HTTP requests as these usually mean web apps running ...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~217-~217: Possible missing comma found.
Context: ...er Wasmtime feature comes to the rescue here specifically their [AOT compilation](ht...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~219-~219: Possible missing comma found.
Context: ... a sandbox. This eliminates the JIT cost but the nature of Wasm's bytecode semantics...

(AI_HYDRA_LEO_MISSING_COMMA)


[misspelling] ~219-~219: This word is normally spelled as one.
Context: ...sm's bytecode semantics and the runtime safe-guards means that this is just as safe as inte...

(EN_COMPOUNDS_SAFE_GUARDS)


[uncategorized] ~220-~220: Possible missing comma found.
Context: ... compressing it) in the Typegate binary itself ensuring minimal cold-starts for our py...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~223-~223: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...Hopefully, all details were clear enough and please direct any feedback, questions, ...

(COMMA_COMPOUND_SENTENCE_3)

Comment thread .ghjk/lock.json
Comment thread docs/metatype.dev/blog/2024-08-26-python-on-webassembly/index.mdx Outdated
@Yohe-Am
Copy link
Copy Markdown
Contributor

Yohe-Am commented Sep 4, 2024

@michael-0acf4 @zifeo @Natoandro I've mirrored the blog post on hackmd here. It should make it easier for edit work. Feel free to rework any sections or wording.

Signed-off-by: Yohe-Am <56622350+Yohe-Am@users.noreply.github.com>
@Yohe-Am Yohe-Am requested a review from a team September 6, 2024 11:46
destifo
destifo previously approved these changes Sep 14, 2024
Copy link
Copy Markdown
Contributor

@destifo destifo left a comment

Choose a reason for hiding this comment

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

Lgtm! there's one image that doesn't load on the hackmd version of the blog, I'm guessing it's on the hackmd side only

Signed-off-by: Yohe-Am <56622350+Yohe-Am@users.noreply.github.com>
@Yohe-Am Yohe-Am requested a review from Natoandro September 20, 2024 07:27
@michael-0acf4 michael-0acf4 merged commit 00ffe5a into main Sep 23, 2024
@michael-0acf4 michael-0acf4 deleted the met-644-docs-add-a-descriptive-blog-part-1 branch September 23, 2024 09:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants