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

GSoC: documentation #167

Closed
wants to merge 3 commits into from
Closed

GSoC: documentation #167

wants to merge 3 commits into from

Conversation

unkcpz
Copy link
Member

@unkcpz unkcpz commented Aug 20, 2020

  • Change the doc theme same as kiwipy
  • add docstring to all public methods
  • add new examples
  • reorganize the section of the doc.

unkcpz added 2 commits August 20, 2020 10:56
- adding new logo
- using new theme same as kiwipy
- reorganized the documentation structure
@unkcpz unkcpz marked this pull request as draft August 20, 2020 03:04
@chrisjsewell
Copy link
Member

you can remove all the type/rtype in these docstrings, in favour of #180 😄

@chrisjsewell
Copy link
Member

I also added sphinx-autobuild to tox 806f932

@unkcpz
Copy link
Member Author

unkcpz commented Nov 21, 2020

you can remove all the type/rtype in these docstrings

@chrisjsewell thanks! will do it.

also a good reminder, here is an unfinished PR. 😄

@chrisjsewell
Copy link
Member

Haha yeh happy to help you finish this.
It's on my todo list to add documentation about the engine to aiida-core, so would save me work if I can just link to these docs 😝

@chrisjsewell
Copy link
Member

Hey @unkcpz lets get this done and dusted 😀
Few conflicts to fix from #180, and just let me know if you need any help or when its ready for review cheers

@chrisjsewell
Copy link
Member

actually I've copied it over to #190

Process
-------

The probably most basic concept in plumpy is the process. A process is an asynchronously running component that is typically defined as a static, "long-running" part of the workflow.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
The probably most basic concept in plumpy is the process. A process is an asynchronously running component that is typically defined as a static, "long-running" part of the workflow.
The most basic concept in plumpy is the process.
A process is an asynchronously running component that is typically defined as a static, "long-running" part of the workflow.

Workchain
---------

`WorkChain` is `Process`, however, not only the `Process`.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
`WorkChain` is `Process`, however, not only the `Process`.
A `WorkChain` is a sub-class of `Process`, with additional features for running a process as a set of discrete steps (also known as instructions).


`WorkChain` is `Process`, however, not only the `Process`.

A WorkChain is a series of instructions carried out with the ability to save state in between.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
A WorkChain is a series of instructions carried out with the ability to save state in between.
A concrete `WorkChain` is created with a series of instructions to be carried out, and has the ability to save the state of the process after each instruction has completed.


A WorkChain is a series of instructions carried out with the ability to save state in between.

The `outline` can give a succinct summary of the logical steps that the workchain will perform.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
The `outline` can give a succinct summary of the logical steps that the workchain will perform.
The set of instructions is defined in the `outline` method, which provides a succinct summary of the logical steps that the workchain will perform.

A WorkChain is a series of instructions carried out with the ability to save state in between.

The `outline` can give a succinct summary of the logical steps that the workchain will perform.
WorkChain supporting using `If_` and `While_` to control the state flow of certain processes.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
WorkChain supporting using `If_` and `While_` to control the state flow of certain processes.
WorkChains support the use of logical constructs such as `If_` and `While_` to control the state flow of certain processes.



Controller
__________
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
__________
----------


Controller
__________
The controller control the process by sending and processing signals over RabbitMQ with the implementation of kiwipy.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
The controller control the process by sending and processing signals over RabbitMQ with the implementation of kiwipy.
The `Controller` controls the process by sending and recieving signals from the `RabbitMQ <https://www.rabbitmq.com/>`__ message broker, using the Python interface implemented in `kiwipy <https://kiwipy.readthedocs.io/>`__.

Comment on lines +26 to +27
There are two types of implementation of controller in plumpy, the asynchronous one `RemoteProcessController` and synchronous
one `RemoteProcessThreadController`. The difference of `RemoteProcessController` is that its methods are coroutines which are running without blocking other tasks.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
There are two types of implementation of controller in plumpy, the asynchronous one `RemoteProcessController` and synchronous
one `RemoteProcessThreadController`. The difference of `RemoteProcessController` is that its methods are coroutines which are running without blocking other tasks.
There are two types of `Controller` implementation in plumpy; the synchronous (blocking) `RemoteProcessThreadController` and asynchronous (non-blocking) `RemoteProcessController`.

@unkcpz
Copy link
Member Author

unkcpz commented Jan 6, 2021

@chrisjsewell thanks! I plan to come back to make this done after #180 merged.
Well... since you copy this, what is the correct way to continue this PR?

@chrisjsewell
Copy link
Member

Well... since you copy this, what is the correct way to continue this PR?

Well as I was reviewing, I realised there was a lot to change/add lol. So yeh I would say, once I have finished it (hopefully today), to check that you are happy I have included everything from this PR in #190, then close it

@chrisjsewell
Copy link
Member

I will close this for now, since it has been essentially superseded by #190 and #192

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.

2 participants