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

Write Beluga architecture page #304

Closed
hidmic opened this issue Feb 9, 2024 · 1 comment
Closed

Write Beluga architecture page #304

hidmic opened this issue Feb 9, 2024 · 1 comment
Assignees
Labels
documentation Improvements or additions to documentation enhancement New feature or request

Comments

@hidmic
Copy link
Collaborator

hidmic commented Feb 9, 2024

Feature description

Precisely what title says. Understanding Beluga's bits and bolts, as well as the reasons behind them, is invaluable for advanced use cases and library development. This is particularly true considering that Beluga makes use of some rather advanced C++ programming techniques that not everybody may be familiar with. A concise and cohesive explanation is in order.

Make sure to cover project structure, abstractions, and conventions. Cross-reference textbooks when appropriate.

@hidmic hidmic added documentation Improvements or additions to documentation enhancement New feature or request labels Feb 9, 2024
@hidmic hidmic self-assigned this Apr 24, 2024
@hidmic hidmic mentioned this issue May 6, 2024
7 tasks
hidmic added a commit that referenced this issue May 9, 2024
### Proposed changes

This patch unifies all repository documentation in a common Sphinx site:
high-level documentation lives in [MyST](https://mystmd.org/) flavor
Markdown documents, Doxygen API documentation is pulled in using the
`autodox` extension in https://github.com/Ekumen-OS/sphinx-babel.

In the process, this PR partially addresses #301, #302, #303, #304, and
#308.

#### Type of change

- [ ] 🐛 Bugfix (change which fixes an issue)
- [ ] 🚀 Feature (change which adds functionality)
- [x] 📚 Documentation (change which fixes or extends documentation)

💥 **Breaking change!** This patch changes the way we used to build
documentation for the Beluga package.

### Checklist

- [x] Lint and unit tests (if any) pass locally with my changes
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have added necessary documentation (if appropriate)
- [x] All commits have been signed for
[DCO](https://developercertificate.org/)

### Additional comments

This patch gets us 80% of the way towards release ready documentation.
High-level documentation is not as polished as I would like to
(specially the Key Concepts page), but this patch is big enough already
and I'm too drained to produce quality technical writing. The easiest
way to review this is building documentation locally and exploring it.
You can check the README file under `docs` for instructions, or simply:

```
git clone https://github.com/Ekumen-OS/beluga.git
cd beluga/docs
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
make html 
```

Note this documentation needs Python 3.9 or later to build. I was not
able to get all dependencies to play ball in earlier Python versions.

---------

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
@hidmic
Copy link
Collaborator Author

hidmic commented May 10, 2024

I think this was reasonably covered by #346, in high-level documentation and in API docs.

@hidmic hidmic closed this as completed May 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant