sefkhet 0.1a0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- sefkhet-0.1a0/CHANGELOG.md +7 -0
- sefkhet-0.1a0/CONTRIBUTING.md +54 -0
- sefkhet-0.1a0/LICENSE.md +21 -0
- sefkhet-0.1a0/MANIFEST.in +14 -0
- sefkhet-0.1a0/PKG-INFO +122 -0
- sefkhet-0.1a0/README.md +95 -0
- sefkhet-0.1a0/docsrc/Makefile +20 -0
- sefkhet-0.1a0/docsrc/README.md +1 -0
- sefkhet-0.1a0/docsrc/make.bat +35 -0
- sefkhet-0.1a0/docsrc/source/CHANGELOG.md +3 -0
- sefkhet-0.1a0/docsrc/source/CONTRIBUTING.md +3 -0
- sefkhet-0.1a0/docsrc/source/_static/img/sefkhet-favicon-dark-rounded.ico +0 -0
- sefkhet-0.1a0/docsrc/source/_static/img/sefkhet-favicon-light-rounded.ico +0 -0
- sefkhet-0.1a0/docsrc/source/_static/img/sefkhet-logo-dark-rounded.svg +4 -0
- sefkhet-0.1a0/docsrc/source/_static/img/sefkhet-logo-dark-transparent.svg +3 -0
- sefkhet-0.1a0/docsrc/source/_static/img/sefkhet-logo-dark.svg +4 -0
- sefkhet-0.1a0/docsrc/source/_static/img/sefkhet-logo-light-rounded.svg +4 -0
- sefkhet-0.1a0/docsrc/source/_static/img/sefkhet-logo-light-transparent.svg +3 -0
- sefkhet-0.1a0/docsrc/source/_static/img/sefkhet-logo-light.svg +4 -0
- sefkhet-0.1a0/docsrc/source/conf.py +75 -0
- sefkhet-0.1a0/docsrc/source/demos/DEMO.ipynb +19 -0
- sefkhet-0.1a0/docsrc/source/index.rst +12 -0
- sefkhet-0.1a0/docsrc/source/sefkhet.rst +11 -0
- sefkhet-0.1a0/pyproject.toml +456 -0
- sefkhet-0.1a0/setup.cfg +4 -0
- sefkhet-0.1a0/src/sefkhet/__init__.py +72 -0
- sefkhet-0.1a0/src/sefkhet/_color.py +266 -0
- sefkhet-0.1a0/src/sefkhet/_constants.py +85 -0
- sefkhet-0.1a0/src/sefkhet/_csv.py +202 -0
- sefkhet-0.1a0/src/sefkhet/_functional.py +1807 -0
- sefkhet-0.1a0/src/sefkhet/_json.py +168 -0
- sefkhet-0.1a0/src/sefkhet/_logfmt.py +197 -0
- sefkhet-0.1a0/src/sefkhet/_object_oriented.py +1008 -0
- sefkhet-0.1a0/src/sefkhet/_one_step.py +424 -0
- sefkhet-0.1a0/src/sefkhet/_typing.py +471 -0
- sefkhet-0.1a0/src/sefkhet/_version.py +3 -0
- sefkhet-0.1a0/src/sefkhet/py.typed +0 -0
- sefkhet-0.1a0/src/sefkhet.egg-info/PKG-INFO +122 -0
- sefkhet-0.1a0/src/sefkhet.egg-info/SOURCES.txt +48 -0
- sefkhet-0.1a0/src/sefkhet.egg-info/dependency_links.txt +1 -0
- sefkhet-0.1a0/src/sefkhet.egg-info/top_level.txt +1 -0
- sefkhet-0.1a0/tests/__init__.py +1 -0
- sefkhet-0.1a0/tests/conftest.py +227 -0
- sefkhet-0.1a0/tests/test_color.py +593 -0
- sefkhet-0.1a0/tests/test_csv.py +509 -0
- sefkhet-0.1a0/tests/test_functional.py +2583 -0
- sefkhet-0.1a0/tests/test_json.py +408 -0
- sefkhet-0.1a0/tests/test_logfmt.py +427 -0
- sefkhet-0.1a0/tests/test_object_oriented.py +859 -0
- sefkhet-0.1a0/tests/test_one_step.py +463 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Contributing
|
|
2
|
+
|
|
3
|
+
Information and guidelines about contributing to `sefkhet`.
|
|
4
|
+
|
|
5
|
+
## Developer installation
|
|
6
|
+
|
|
7
|
+
Developers wishing to work on `sefkhet` should clone the GitHub repository using `git clone https://github.com/DannyCollinson/sefkhet.git` and create a branch for development using `git branch <branch-name>`, where `<branch-name>` is your desired branch name. Branch naming conventions are described in the **Releases and Branching** section below.
|
|
8
|
+
|
|
9
|
+
The easiest way to get started is to create a Python virtual environment using `venv`, which we will walk through here, but feel free to use your favorite alternative environment and package management tools (in which case, skip to the next paragraph). To use `venv`, run `python -m venv .venv` from the project root directory, which will create the environment within the `.venv` directory. Activate the environment using `source .venv/bin/activate` (`source .venv/Scripts/activate` if on Windows).
|
|
10
|
+
|
|
11
|
+
Once your environment is set up, install `sefkhet` as an editable package using `pip install -e .[dev]`. This will make the `sefkhet` package available in the environment, as well as install the development tools required for `sefkhet`.
|
|
12
|
+
|
|
13
|
+
## Formatting
|
|
14
|
+
|
|
15
|
+
Code should be formatted by `ruff format .` and `ruff check --select I --fix .` with the configurations set in `pyproject.toml`. All other options should be set to the default. No line should exceed 80 characters; long strings and comments should be split into multiple lines.
|
|
16
|
+
|
|
17
|
+
Docstrings should be included for all modules, functions and classes, written using Google-style with type hints. No docstring line should exceed 72 characters; long lines should be broken into multiple lines, and long type hints or code snippets within docstrings should be formatted according to `ruff format`.
|
|
18
|
+
|
|
19
|
+
## Typing
|
|
20
|
+
|
|
21
|
+
Code should be type-checked using `mypy` and `pyright` with the configurations set in `pyproject.toml`. Overrides of unavoidable typing issues are allowed. All functions should be fully type-hinted.
|
|
22
|
+
|
|
23
|
+
## Style
|
|
24
|
+
|
|
25
|
+
Code should attempt to reflect the codebase's existing style as much as possible. Names for functions, variables, etc. should generally prioritize clarity over brevity. Code should prioritize performance, but it should also aim to maximize clarity.
|
|
26
|
+
|
|
27
|
+
Comments should explain what each non-self-explanatory code section or tricky line is doing in plain language above the code in question, once again balancing clarity and brevity.
|
|
28
|
+
|
|
29
|
+
Blank lines should be used to break up logical sections of code within functions, but independently-functioning logical sections should be broken into separate functions where feasible.
|
|
30
|
+
|
|
31
|
+
Code should be checked for style using `pylint src/sefkhet tests` and `ruff check --config pyproject.toml` and analyzed with `pyright -p pyproject.toml src/sefkhet tests`. Configurations for all are set in `pyproject.toml`. The utmost effort should be made to address all issues, but unavoidable issues can be ignored with `#pylint: disable=X`, `# ruff: ignore[X]`, and/or `pyright: ignore[X]` comments as applicable, always using the full rule name. As much as possible, try to keep these exceptions as local as possible (ideally inline) instead of file-wide (i.e., placed at the top of the file).
|
|
32
|
+
|
|
33
|
+
## Docs
|
|
34
|
+
Docstrings should use Google-style docstrings with typing included. No line in a docstring should exceed 72 characters. Documentation is built using Sphinx and hosted via [GitHub Pages](https://dannycollinson.github.io/sefkhet). Configuration for the docs can be found in `docsrc/source/conf.py`.
|
|
35
|
+
|
|
36
|
+
Docstrings should be checked using the command `pydoclint --style=google --skip-checking-short-docstrings=True src/sefkhet tests`.
|
|
37
|
+
|
|
38
|
+
## Releases and Branching
|
|
39
|
+
|
|
40
|
+
Releases will be created on GitHub with a version number tag and pushed to PyPI. Releases occur on an as-needed and as-ready basis and use semantic versioning. Small individual bug fixes and tweaks that do not change the public API will update the patch number (i.e., the third number in the version). More substantial bug fixes and tweaks and those that modify the public API will update the minor version number (i.e., the second number). Large updates in package capabilities and large changes in the public API will update the major version number (i.e., the first number).
|
|
41
|
+
|
|
42
|
+
The `trunk` branch is the definitive/release branch, and all contributions should be made via pull request from a development or other branch. The `docs` branch is used as the source for the [GitHub Pages site](https://dannycollinson.github.io/sefkhet) and should mirror the `trunk` branch except for including the built docs, which should not be included in the `trunk` branch.
|
|
43
|
+
|
|
44
|
+
Development branch naming conventions are loose, but try to stick to using a `patch/<dev_name>/<patch_name>` format for small fixes and changes reflecting an update at the patch number level, a `feature/<dev_name>/<feature_name>` format for larger updates at the minor version number level, and a `major/<dev_name>/<v#>` format for major version number bumps. As the original author and primary maintainer, Danny Collinosn reserves the right to use the `dev/danny` branch as an all-purpose branch.
|
|
45
|
+
|
|
46
|
+
## Testing
|
|
47
|
+
|
|
48
|
+
Testing should be done using `pytest` with `pytest-cov` using the configurations set in `pyproject.toml`. Excepting the case of emergency bug fixes, all tests must pass and the test suite must acheive 100% line and branch coverage before updates will be incorporated into `trunk`. The `test` directory structure should mirror the `src/sefkhet` directory structure as closely as possible unless where strict adherence would lead to files of 1000+ lines, in which case subdivisions can be made. Tests should be logically grouped within each file where possible. In accordance with `pytest` standards, a `conftest.py` file can contain reusable fixtures available for all tests.
|
|
49
|
+
|
|
50
|
+
The `src/sefkhet`, `tests`, and `docsrc/source/demos` directories should also be scanned for vulnerabilities with `bandit`. You should run the following command: `bandit -c pyproject.toml -r tests src/sefkhet docsrc/source/demos`.
|
|
51
|
+
|
|
52
|
+
## More
|
|
53
|
+
|
|
54
|
+
If you have any questions, are interested in learning more about the package, or want to work on `sefkhet`, then don't hesitate to create an [issue on GitHub](https://github.com/DannyCollinson/sefkhet/issues)!
|
sefkhet-0.1a0/LICENSE.md
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Danny Collinson
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
include pyproject.toml
|
|
2
|
+
include README.md
|
|
3
|
+
include LICENSE.md
|
|
4
|
+
include MANIFEST.in
|
|
5
|
+
include CONTRIBUTING.md
|
|
6
|
+
include CHANGELOG.md
|
|
7
|
+
|
|
8
|
+
recursive-include src/sefkhet *.py
|
|
9
|
+
include src/sefkhet/py.typed
|
|
10
|
+
|
|
11
|
+
recursive-include docsrc *
|
|
12
|
+
recursive-include tests *.py
|
|
13
|
+
|
|
14
|
+
recursive-exclude docs *
|
sefkhet-0.1a0/PKG-INFO
ADDED
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: sefkhet
|
|
3
|
+
Version: 0.1a0
|
|
4
|
+
Summary: Sefkhet - simple setup for complex logging in Python.
|
|
5
|
+
Author-email: Danny Collinson <danny@dannycollinson.com>
|
|
6
|
+
Maintainer-email: Danny Collinson <danny@dannycollinson.com>
|
|
7
|
+
Project-URL: Homepage, https://github.com/DannyCollinson/sefkhet
|
|
8
|
+
Project-URL: Documentation, https://pages.github.
|
|
9
|
+
Project-URL: Issues, https://github.com/DannyCollinson/sefkhet/issues
|
|
10
|
+
Project-URL: Repository, https://github.com/DannyCollinson/sefkhet
|
|
11
|
+
Keywords: log,logging,logging-library,logs
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: Natural Language :: English
|
|
15
|
+
Classifier: Operating System :: OS Independent
|
|
16
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.15
|
|
22
|
+
Classifier: Typing :: Typed
|
|
23
|
+
Requires-Python: >=3.12
|
|
24
|
+
Description-Content-Type: text/markdown
|
|
25
|
+
License-File: LICENSE.md
|
|
26
|
+
Dynamic: license-file
|
|
27
|
+
|
|
28
|
+
# `sefkhet`
|
|
29
|
+
|
|
30
|
+
Sefkhet is a Python package that provides simple setup for complex logging.
|
|
31
|
+
|
|
32
|
+

|
|
33
|
+
|
|
34
|
+
Check out the **[docs](https://dannycollinson.github.io/sefkhet)** for in-depth information on `sefkhet`, see the [demo](https://dannycollinson.github.io/sefkhet/demos/DEMO.html#) for a demonstration of the package's functionality, or read below for how to get started!
|
|
35
|
+
|
|
36
|
+
### Quick Links
|
|
37
|
+
|
|
38
|
+
- [Docs](https://dannycollinson.github.io/sefkhet)
|
|
39
|
+
- [API Reference](https://dannycollinson.github.io/sefkhet/sefkhet.html#)
|
|
40
|
+
- [Demo](https://dannycollinson.github.io/sefkhet/demos/DEMO.html#)
|
|
41
|
+
- [Changelog](https://dannycollinson.github.io/sefkhet/CHANGELOG.html#)
|
|
42
|
+
- [GitHub](https://github.com/DannyCollinson/sefkhet)
|
|
43
|
+
- [Issues](https://github.com/DannyCollinson/sefkhet/issues)
|
|
44
|
+
- [Releases](https://github.com/DannyCollinson/sefkhet/releases)
|
|
45
|
+
|
|
46
|
+
## Installation
|
|
47
|
+
|
|
48
|
+
Installation is via PyPI. The exact command depends on your preferred package manager, but for `pip`, it's:
|
|
49
|
+
|
|
50
|
+
```sh
|
|
51
|
+
pip install sefkhet
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Quickstart
|
|
55
|
+
|
|
56
|
+
Below is a one-minute introduction to `sefkhet`. For more detailed information, check out the [demo notebook](https://dannycollinson.github.io/sefkhet/demos/DEMO.html#).
|
|
57
|
+
|
|
58
|
+
### Import
|
|
59
|
+
|
|
60
|
+
You can import the package using
|
|
61
|
+
|
|
62
|
+
```py3
|
|
63
|
+
import sefkhet
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
### `record`/`rec`
|
|
68
|
+
|
|
69
|
+
After import, you can immediately start logging with the default configuration using
|
|
70
|
+
|
|
71
|
+
```py3
|
|
72
|
+
sefkhet.record("I <3 sefkhet!")
|
|
73
|
+
# or
|
|
74
|
+
sefkhet.rec("I <3 sefkhet!")
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Or, if you only need the `record`/`rec` function, you can do
|
|
78
|
+
|
|
79
|
+
```py3
|
|
80
|
+
from sefkhet import record
|
|
81
|
+
|
|
82
|
+
record("I <3 sefkhet!")
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
### `Scribe`
|
|
87
|
+
|
|
88
|
+
You can also use the `Scribe` class as follows:
|
|
89
|
+
|
|
90
|
+
```py3
|
|
91
|
+
scribe = sefkhet.Scribe()
|
|
92
|
+
# then
|
|
93
|
+
scribe.record("I <3 sefkhet!")
|
|
94
|
+
# or
|
|
95
|
+
scribe.rec("I <3 sefkhet!")
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
## Contributing
|
|
100
|
+
|
|
101
|
+
Check out the [Contributing Guide](https://dannycollinson.github.io/sefkhet/CONTRIBUTING.html#) or `CONTRIBUTING.md` for details about contributing!
|
|
102
|
+
|
|
103
|
+
If you come across any issues while using `sefkhet` or think of any features that you would like to see added, please let us know by creating a new [GitHub Issue](https://github.com/DannyCollinson/sefkhet/issues)!
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
## Help
|
|
107
|
+
|
|
108
|
+
If you have any questions about the package, you can refer to the [docs](https://dannycollinson.github.io/sefkhet) and [source code](https://github.com/DannyCollinson/sefkhet).
|
|
109
|
+
|
|
110
|
+
If you have questions that are still unanswered or run into any issues while using the package, please let us know by creating a new [GitHub Issue](https://github.com/DannyCollinson/sefkhet/issues).
|
|
111
|
+
|
|
112
|
+
## Notes
|
|
113
|
+
|
|
114
|
+
The package's name comes from the Egyptian goddess Seshat, who was alternatively known as Sefkhet-Abwy. According to [Wikipedia](https://en.wikipedia.org/wiki/Seshat):
|
|
115
|
+
> Seshat (Ancient Egyptian: 𓋇𓏏𓁐, lit. 'Female Scribe') was the ancient Egyptian goddess of writing, wisdom, and knowledge. She was seen as a scribe and record keeper. She was also credited with inventing writing. She became identified as the goddess of measurement, accounting, architecture, science, astronomy, mathematics, geometry, history and surveying.
|
|
116
|
+
|
|
117
|
+
She was typically depicted with a seven-pointed emblem above her head or on her headband, which also served as her emblem. This inspired the name Sefkhet-Abwy, which can be translated as "seven-horned".
|
|
118
|
+
|
|
119
|
+
The package's logo (𓏞) is the [hieroglyphic for "scribe's equipment"](https://en.wikipedia.org/wiki/Scribe_equipment_(hieroglyph)). It depicts a tube-like case to hold reeds to write with, a leather bag for storing inks, and a wooden scribal palette to mix inks on. It is sign Y3 on [Gardiner's sign list](https://en.wikipedia.org/wiki/Gardiner%27s_sign_list), and its codepoint is `0x133DE`.
|
|
120
|
+
|
|
121
|
+
## Thanks for checking out `sefkhet`!
|
|
122
|
+
###
|
sefkhet-0.1a0/README.md
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# `sefkhet`
|
|
2
|
+
|
|
3
|
+
Sefkhet is a Python package that provides simple setup for complex logging.
|
|
4
|
+
|
|
5
|
+

|
|
6
|
+
|
|
7
|
+
Check out the **[docs](https://dannycollinson.github.io/sefkhet)** for in-depth information on `sefkhet`, see the [demo](https://dannycollinson.github.io/sefkhet/demos/DEMO.html#) for a demonstration of the package's functionality, or read below for how to get started!
|
|
8
|
+
|
|
9
|
+
### Quick Links
|
|
10
|
+
|
|
11
|
+
- [Docs](https://dannycollinson.github.io/sefkhet)
|
|
12
|
+
- [API Reference](https://dannycollinson.github.io/sefkhet/sefkhet.html#)
|
|
13
|
+
- [Demo](https://dannycollinson.github.io/sefkhet/demos/DEMO.html#)
|
|
14
|
+
- [Changelog](https://dannycollinson.github.io/sefkhet/CHANGELOG.html#)
|
|
15
|
+
- [GitHub](https://github.com/DannyCollinson/sefkhet)
|
|
16
|
+
- [Issues](https://github.com/DannyCollinson/sefkhet/issues)
|
|
17
|
+
- [Releases](https://github.com/DannyCollinson/sefkhet/releases)
|
|
18
|
+
|
|
19
|
+
## Installation
|
|
20
|
+
|
|
21
|
+
Installation is via PyPI. The exact command depends on your preferred package manager, but for `pip`, it's:
|
|
22
|
+
|
|
23
|
+
```sh
|
|
24
|
+
pip install sefkhet
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Quickstart
|
|
28
|
+
|
|
29
|
+
Below is a one-minute introduction to `sefkhet`. For more detailed information, check out the [demo notebook](https://dannycollinson.github.io/sefkhet/demos/DEMO.html#).
|
|
30
|
+
|
|
31
|
+
### Import
|
|
32
|
+
|
|
33
|
+
You can import the package using
|
|
34
|
+
|
|
35
|
+
```py3
|
|
36
|
+
import sefkhet
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
### `record`/`rec`
|
|
41
|
+
|
|
42
|
+
After import, you can immediately start logging with the default configuration using
|
|
43
|
+
|
|
44
|
+
```py3
|
|
45
|
+
sefkhet.record("I <3 sefkhet!")
|
|
46
|
+
# or
|
|
47
|
+
sefkhet.rec("I <3 sefkhet!")
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Or, if you only need the `record`/`rec` function, you can do
|
|
51
|
+
|
|
52
|
+
```py3
|
|
53
|
+
from sefkhet import record
|
|
54
|
+
|
|
55
|
+
record("I <3 sefkhet!")
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
### `Scribe`
|
|
60
|
+
|
|
61
|
+
You can also use the `Scribe` class as follows:
|
|
62
|
+
|
|
63
|
+
```py3
|
|
64
|
+
scribe = sefkhet.Scribe()
|
|
65
|
+
# then
|
|
66
|
+
scribe.record("I <3 sefkhet!")
|
|
67
|
+
# or
|
|
68
|
+
scribe.rec("I <3 sefkhet!")
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
## Contributing
|
|
73
|
+
|
|
74
|
+
Check out the [Contributing Guide](https://dannycollinson.github.io/sefkhet/CONTRIBUTING.html#) or `CONTRIBUTING.md` for details about contributing!
|
|
75
|
+
|
|
76
|
+
If you come across any issues while using `sefkhet` or think of any features that you would like to see added, please let us know by creating a new [GitHub Issue](https://github.com/DannyCollinson/sefkhet/issues)!
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
## Help
|
|
80
|
+
|
|
81
|
+
If you have any questions about the package, you can refer to the [docs](https://dannycollinson.github.io/sefkhet) and [source code](https://github.com/DannyCollinson/sefkhet).
|
|
82
|
+
|
|
83
|
+
If you have questions that are still unanswered or run into any issues while using the package, please let us know by creating a new [GitHub Issue](https://github.com/DannyCollinson/sefkhet/issues).
|
|
84
|
+
|
|
85
|
+
## Notes
|
|
86
|
+
|
|
87
|
+
The package's name comes from the Egyptian goddess Seshat, who was alternatively known as Sefkhet-Abwy. According to [Wikipedia](https://en.wikipedia.org/wiki/Seshat):
|
|
88
|
+
> Seshat (Ancient Egyptian: 𓋇𓏏𓁐, lit. 'Female Scribe') was the ancient Egyptian goddess of writing, wisdom, and knowledge. She was seen as a scribe and record keeper. She was also credited with inventing writing. She became identified as the goddess of measurement, accounting, architecture, science, astronomy, mathematics, geometry, history and surveying.
|
|
89
|
+
|
|
90
|
+
She was typically depicted with a seven-pointed emblem above her head or on her headband, which also served as her emblem. This inspired the name Sefkhet-Abwy, which can be translated as "seven-horned".
|
|
91
|
+
|
|
92
|
+
The package's logo (𓏞) is the [hieroglyphic for "scribe's equipment"](https://en.wikipedia.org/wiki/Scribe_equipment_(hieroglyph)). It depicts a tube-like case to hold reeds to write with, a leather bag for storing inks, and a wooden scribal palette to mix inks on. It is sign Y3 on [Gardiner's sign list](https://en.wikipedia.org/wiki/Gardiner%27s_sign_list), and its codepoint is `0x133DE`.
|
|
93
|
+
|
|
94
|
+
## Thanks for checking out `sefkhet`!
|
|
95
|
+
###
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Minimal makefile for Sphinx documentation
|
|
2
|
+
#
|
|
3
|
+
|
|
4
|
+
# You can set these variables from the command line, and also
|
|
5
|
+
# from the environment for the first two.
|
|
6
|
+
SPHINXOPTS ?=
|
|
7
|
+
SPHINXBUILD ?= sphinx-build
|
|
8
|
+
SOURCEDIR = source
|
|
9
|
+
BUILDDIR = ../docs
|
|
10
|
+
|
|
11
|
+
# Put it first so that "make" without argument is like "make help".
|
|
12
|
+
help:
|
|
13
|
+
@$(SPHINXBUILD) --help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
|
14
|
+
|
|
15
|
+
.PHONY: help Makefile
|
|
16
|
+
|
|
17
|
+
# Catch-all target: route all unknown targets to Sphinx using the new
|
|
18
|
+
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
|
|
19
|
+
%: Makefile
|
|
20
|
+
@$(SPHINXBUILD) -b $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Documentation source for `sefkhet`. Built documentation goes into the `docs` directory.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
@ECHO OFF
|
|
2
|
+
|
|
3
|
+
pushd %~dp0
|
|
4
|
+
|
|
5
|
+
REM Command file for Sphinx documentation
|
|
6
|
+
|
|
7
|
+
if "%SPHINXBUILD%" == "" (
|
|
8
|
+
set SPHINXBUILD=sphinx-build
|
|
9
|
+
)
|
|
10
|
+
set SOURCEDIR=source
|
|
11
|
+
set BUILDDIR=../docs
|
|
12
|
+
|
|
13
|
+
%SPHINXBUILD% >NUL 2>NUL
|
|
14
|
+
if errorlevel 9009 (
|
|
15
|
+
echo.
|
|
16
|
+
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
|
|
17
|
+
echo.installed, then set the SPHINXBUILD environment variable to point
|
|
18
|
+
echo.to the full path of the 'sphinx-build' executable. Alternatively you
|
|
19
|
+
echo.may add the Sphinx directory to PATH.
|
|
20
|
+
echo.
|
|
21
|
+
echo.If you don't have Sphinx installed, grab it from
|
|
22
|
+
echo.https://www.sphinx-doc.org/
|
|
23
|
+
exit /b 1
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
if "%1" == "" goto help
|
|
27
|
+
|
|
28
|
+
%SPHINXBUILD% -b %1 %O% %SPHINXOPTS% %SOURCEDIR% %BUILDDIR%
|
|
29
|
+
goto end
|
|
30
|
+
|
|
31
|
+
:help
|
|
32
|
+
%SPHINXBUILD% --help
|
|
33
|
+
|
|
34
|
+
:end
|
|
35
|
+
popd
|
|
Binary file
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1251.250 1251.250" width="512" height="512" role="img" aria-label="Gardiner Y3, scribe's equipment">
|
|
2
|
+
<rect width="1251.250" height="1251.250" rx="225.225" ry="225.225" fill="#2E2000"/>
|
|
3
|
+
<path d="M238.125 1126.125V629.125H335.125V257.125Q335.125 251.125 342.125 230.125Q349.125 209.125 367.125 184.625Q385.125 160.125 419.625 142.625Q454.125 125.125 509.125 125.125Q564.125 125.125 598.125 142.625Q632.125 160.125 650.625 184.125Q669.125 208.125 676.125 229.125Q683.125 250.125 683.125 257.125V592.125Q688.125 585.125 696.125 575.125Q730.125 535.125 774.125 505.125Q818.125 475.125 857.125 475.125H859.125V398.125Q856.125 398.125 853.125 397.625Q850.125 397.125 846.125 396.125Q824.125 389.125 813.625 374.625Q803.125 360.125 792.125 340.125Q783.125 323.125 780.625 305.625Q778.125 288.125 772.125 271.125Q768.125 258.125 756.125 250.625Q744.125 243.125 729.125 242.125L726.125 221.125Q731.125 213.125 745.625 202.125Q760.125 191.125 783.125 191.125Q802.125 191.125 817.125 200.125Q825.125 181.125 838.125 160.625Q851.125 140.125 869.125 126.125Q888.125 140.125 901.125 160.625Q914.125 181.125 921.125 200.125Q936.125 191.125 956.125 191.125Q979.125 191.125 993.625 202.125Q1008.125 213.125 1013.125 221.125L1009.125 242.125Q995.125 243.125 983.125 250.625Q971.125 258.125 966.125 271.125Q960.125 288.125 957.625 305.625Q955.125 323.125 947.125 340.125Q937.125 359.125 925.625 374.125Q914.125 389.125 892.125 396.125Q888.125 397.125 885.125 397.125Q882.125 397.125 879.125 398.125V478.125Q899.125 482.125 908.125 493.125Q917.125 504.125 920.125 515.625Q923.125 527.125 923.125 534.125Q923.125 550.125 911.125 566.125Q899.125 582.125 879.125 597.125V1121.125H859.125V611.125Q858.125 611.125 856.125 613.125Q832.125 628.125 805.125 641.125Q778.125 654.125 755.125 664.125Q733.125 674.125 715.125 684.125Q697.125 694.125 683.125 703.125V713.125H721.125Q723.125 716.125 724.625 721.125Q726.125 726.125 726.125 732.125Q726.125 746.125 712.125 765.125Q727.125 775.125 736.125 791.625Q745.125 808.125 745.125 834.125Q745.125 856.125 732.625 877.625Q720.125 899.125 699.125 913.125Q678.125 927.125 652.125 927.125Q627.125 927.125 606.125 913.125Q585.125 899.125 572.625 877.625Q560.125 856.125 560.125 834.125Q560.125 808.125 569.125 791.625Q578.125 775.125 593.125 765.125Q586.125 756.125 583.125 747.125Q580.125 738.125 580.125 732.125Q580.125 726.125 582.125 721.125Q584.125 716.125 585.125 713.125H623.125V275.125Q623.125 270.125 619.125 255.625Q615.125 241.125 603.625 225.125Q592.125 209.125 569.625 197.625Q547.125 186.125 509.125 186.125Q471.125 186.125 448.625 197.625Q426.125 209.125 414.625 225.125Q403.125 241.125 399.125 255.625Q395.125 270.125 395.125 275.125V629.125H520.125V1126.125ZM642.125 663.125Q647.125 653.125 652.125 642.625Q657.125 632.125 664.125 622.125V257.125Q664.125 252.125 658.625 234.125Q653.125 216.125 637.125 195.625Q621.125 175.125 590.125 160.125Q559.125 145.125 509.125 145.125Q459.125 145.125 428.125 160.125Q397.125 175.125 381.125 195.625Q365.125 216.125 359.625 234.125Q354.125 252.125 354.125 257.125V629.125H376.125V275.125Q376.125 269.125 380.125 251.625Q384.125 234.125 396.625 214.125Q409.125 194.125 436.125 180.125Q463.125 166.125 509.125 166.125Q555.125 166.125 581.625 180.125Q608.125 194.125 621.125 214.125Q634.125 234.125 638.125 251.625Q642.125 269.125 642.125 275.125ZM869.125 256.125Q875.125 245.125 883.125 234.125Q891.125 223.125 903.125 211.125Q899.125 196.125 889.625 179.625Q880.125 163.125 869.125 152.125Q845.125 178.125 835.125 211.125Q858.125 234.125 869.125 256.125ZM869.125 381.125Q893.125 381.125 907.125 364.125Q921.125 347.125 930.125 331.125Q939.125 313.125 941.125 296.125Q943.125 279.125 948.125 262.125Q953.125 247.125 965.625 238.125Q978.125 229.125 991.125 225.125Q987.125 222.125 980.125 216.125Q973.125 210.125 959.125 210.125Q932.125 210.125 913.625 228.625Q895.125 247.125 884.125 269.125Q873.125 291.125 869.125 302.125Q866.125 291.125 855.125 269.125Q844.125 247.125 825.625 228.625Q807.125 210.125 780.125 210.125Q766.125 210.125 758.625 216.125Q751.125 222.125 747.125 225.125Q761.125 229.125 773.625 238.125Q786.125 247.125 790.125 262.125Q795.125 279.125 797.125 296.125Q799.125 313.125 809.125 331.125Q817.125 347.125 831.125 364.125Q845.125 381.125 869.125 381.125ZM683.125 680.125Q696.125 672.125 711.125 664.125Q726.125 656.125 745.125 647.125Q771.125 636.125 795.125 624.125Q819.125 612.125 841.125 599.125Q850.125 595.125 859.125 588.125V495.125H857.125Q833.125 495.125 806.625 509.125Q780.125 523.125 755.125 544.625Q730.125 566.125 710.125 589.125Q695.125 607.125 683.125 628.125ZM879.125 573.125Q903.125 552.125 903.125 534.125Q903.125 523.125 898.125 512.625Q893.125 502.125 879.125 498.125ZM257.125 1106.125H501.125V648.125H257.125ZM643.125 709.125 664.125 693.125V664.125Q657.125 677.125 651.625 689.125Q646.125 701.125 643.125 709.125ZM379.125 851.125Q351.125 851.125 331.625 831.625Q312.125 812.125 312.125 784.125Q312.125 756.125 331.625 736.625Q351.125 717.125 379.125 717.125Q407.125 717.125 426.625 736.625Q446.125 756.125 446.125 784.125Q446.125 812.125 426.625 831.625Q407.125 851.125 379.125 851.125ZM610.125 756.125Q630.125 750.125 653.125 750.125Q664.125 750.125 674.625 751.125Q685.125 752.125 695.125 756.125Q706.125 745.125 706.125 733.125H600.125Q600.125 739.125 603.125 745.125Q606.125 751.125 610.125 756.125ZM379.125 832.125Q399.125 832.125 413.125 817.625Q427.125 803.125 427.125 784.125Q427.125 764.125 413.125 750.125Q399.125 736.125 379.125 736.125Q360.125 736.125 346.125 750.125Q332.125 764.125 332.125 784.125Q332.125 803.125 346.125 817.625Q360.125 832.125 379.125 832.125ZM652.125 908.125Q673.125 908.125 689.625 896.625Q706.125 885.125 716.125 867.625Q726.125 850.125 726.125 834.125Q726.125 799.125 704.625 784.125Q683.125 769.125 652.125 769.125Q622.125 769.125 600.625 784.125Q579.125 799.125 579.125 834.125Q579.125 850.125 589.125 867.625Q599.125 885.125 615.625 896.625Q632.125 908.125 652.125 908.125ZM379.125 1038.125Q351.125 1038.125 331.625 1018.625Q312.125 999.125 312.125 971.125Q312.125 943.125 331.625 923.125Q351.125 903.125 379.125 903.125Q407.125 903.125 426.625 923.125Q446.125 943.125 446.125 971.125Q446.125 999.125 426.625 1018.625Q407.125 1038.125 379.125 1038.125Z" fill="#FFF1CC"/>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1251.250 1251.250" width="512" height="512" role="img" aria-label="Gardiner Y3, scribe's equipment">
|
|
2
|
+
<path d="M238.125 1126.125V629.125H335.125V257.125Q335.125 251.125 342.125 230.125Q349.125 209.125 367.125 184.625Q385.125 160.125 419.625 142.625Q454.125 125.125 509.125 125.125Q564.125 125.125 598.125 142.625Q632.125 160.125 650.625 184.125Q669.125 208.125 676.125 229.125Q683.125 250.125 683.125 257.125V592.125Q688.125 585.125 696.125 575.125Q730.125 535.125 774.125 505.125Q818.125 475.125 857.125 475.125H859.125V398.125Q856.125 398.125 853.125 397.625Q850.125 397.125 846.125 396.125Q824.125 389.125 813.625 374.625Q803.125 360.125 792.125 340.125Q783.125 323.125 780.625 305.625Q778.125 288.125 772.125 271.125Q768.125 258.125 756.125 250.625Q744.125 243.125 729.125 242.125L726.125 221.125Q731.125 213.125 745.625 202.125Q760.125 191.125 783.125 191.125Q802.125 191.125 817.125 200.125Q825.125 181.125 838.125 160.625Q851.125 140.125 869.125 126.125Q888.125 140.125 901.125 160.625Q914.125 181.125 921.125 200.125Q936.125 191.125 956.125 191.125Q979.125 191.125 993.625 202.125Q1008.125 213.125 1013.125 221.125L1009.125 242.125Q995.125 243.125 983.125 250.625Q971.125 258.125 966.125 271.125Q960.125 288.125 957.625 305.625Q955.125 323.125 947.125 340.125Q937.125 359.125 925.625 374.125Q914.125 389.125 892.125 396.125Q888.125 397.125 885.125 397.125Q882.125 397.125 879.125 398.125V478.125Q899.125 482.125 908.125 493.125Q917.125 504.125 920.125 515.625Q923.125 527.125 923.125 534.125Q923.125 550.125 911.125 566.125Q899.125 582.125 879.125 597.125V1121.125H859.125V611.125Q858.125 611.125 856.125 613.125Q832.125 628.125 805.125 641.125Q778.125 654.125 755.125 664.125Q733.125 674.125 715.125 684.125Q697.125 694.125 683.125 703.125V713.125H721.125Q723.125 716.125 724.625 721.125Q726.125 726.125 726.125 732.125Q726.125 746.125 712.125 765.125Q727.125 775.125 736.125 791.625Q745.125 808.125 745.125 834.125Q745.125 856.125 732.625 877.625Q720.125 899.125 699.125 913.125Q678.125 927.125 652.125 927.125Q627.125 927.125 606.125 913.125Q585.125 899.125 572.625 877.625Q560.125 856.125 560.125 834.125Q560.125 808.125 569.125 791.625Q578.125 775.125 593.125 765.125Q586.125 756.125 583.125 747.125Q580.125 738.125 580.125 732.125Q580.125 726.125 582.125 721.125Q584.125 716.125 585.125 713.125H623.125V275.125Q623.125 270.125 619.125 255.625Q615.125 241.125 603.625 225.125Q592.125 209.125 569.625 197.625Q547.125 186.125 509.125 186.125Q471.125 186.125 448.625 197.625Q426.125 209.125 414.625 225.125Q403.125 241.125 399.125 255.625Q395.125 270.125 395.125 275.125V629.125H520.125V1126.125ZM642.125 663.125Q647.125 653.125 652.125 642.625Q657.125 632.125 664.125 622.125V257.125Q664.125 252.125 658.625 234.125Q653.125 216.125 637.125 195.625Q621.125 175.125 590.125 160.125Q559.125 145.125 509.125 145.125Q459.125 145.125 428.125 160.125Q397.125 175.125 381.125 195.625Q365.125 216.125 359.625 234.125Q354.125 252.125 354.125 257.125V629.125H376.125V275.125Q376.125 269.125 380.125 251.625Q384.125 234.125 396.625 214.125Q409.125 194.125 436.125 180.125Q463.125 166.125 509.125 166.125Q555.125 166.125 581.625 180.125Q608.125 194.125 621.125 214.125Q634.125 234.125 638.125 251.625Q642.125 269.125 642.125 275.125ZM869.125 256.125Q875.125 245.125 883.125 234.125Q891.125 223.125 903.125 211.125Q899.125 196.125 889.625 179.625Q880.125 163.125 869.125 152.125Q845.125 178.125 835.125 211.125Q858.125 234.125 869.125 256.125ZM869.125 381.125Q893.125 381.125 907.125 364.125Q921.125 347.125 930.125 331.125Q939.125 313.125 941.125 296.125Q943.125 279.125 948.125 262.125Q953.125 247.125 965.625 238.125Q978.125 229.125 991.125 225.125Q987.125 222.125 980.125 216.125Q973.125 210.125 959.125 210.125Q932.125 210.125 913.625 228.625Q895.125 247.125 884.125 269.125Q873.125 291.125 869.125 302.125Q866.125 291.125 855.125 269.125Q844.125 247.125 825.625 228.625Q807.125 210.125 780.125 210.125Q766.125 210.125 758.625 216.125Q751.125 222.125 747.125 225.125Q761.125 229.125 773.625 238.125Q786.125 247.125 790.125 262.125Q795.125 279.125 797.125 296.125Q799.125 313.125 809.125 331.125Q817.125 347.125 831.125 364.125Q845.125 381.125 869.125 381.125ZM683.125 680.125Q696.125 672.125 711.125 664.125Q726.125 656.125 745.125 647.125Q771.125 636.125 795.125 624.125Q819.125 612.125 841.125 599.125Q850.125 595.125 859.125 588.125V495.125H857.125Q833.125 495.125 806.625 509.125Q780.125 523.125 755.125 544.625Q730.125 566.125 710.125 589.125Q695.125 607.125 683.125 628.125ZM879.125 573.125Q903.125 552.125 903.125 534.125Q903.125 523.125 898.125 512.625Q893.125 502.125 879.125 498.125ZM257.125 1106.125H501.125V648.125H257.125ZM643.125 709.125 664.125 693.125V664.125Q657.125 677.125 651.625 689.125Q646.125 701.125 643.125 709.125ZM379.125 851.125Q351.125 851.125 331.625 831.625Q312.125 812.125 312.125 784.125Q312.125 756.125 331.625 736.625Q351.125 717.125 379.125 717.125Q407.125 717.125 426.625 736.625Q446.125 756.125 446.125 784.125Q446.125 812.125 426.625 831.625Q407.125 851.125 379.125 851.125ZM610.125 756.125Q630.125 750.125 653.125 750.125Q664.125 750.125 674.625 751.125Q685.125 752.125 695.125 756.125Q706.125 745.125 706.125 733.125H600.125Q600.125 739.125 603.125 745.125Q606.125 751.125 610.125 756.125ZM379.125 832.125Q399.125 832.125 413.125 817.625Q427.125 803.125 427.125 784.125Q427.125 764.125 413.125 750.125Q399.125 736.125 379.125 736.125Q360.125 736.125 346.125 750.125Q332.125 764.125 332.125 784.125Q332.125 803.125 346.125 817.625Q360.125 832.125 379.125 832.125ZM652.125 908.125Q673.125 908.125 689.625 896.625Q706.125 885.125 716.125 867.625Q726.125 850.125 726.125 834.125Q726.125 799.125 704.625 784.125Q683.125 769.125 652.125 769.125Q622.125 769.125 600.625 784.125Q579.125 799.125 579.125 834.125Q579.125 850.125 589.125 867.625Q599.125 885.125 615.625 896.625Q632.125 908.125 652.125 908.125ZM379.125 1038.125Q351.125 1038.125 331.625 1018.625Q312.125 999.125 312.125 971.125Q312.125 943.125 331.625 923.125Q351.125 903.125 379.125 903.125Q407.125 903.125 426.625 923.125Q446.125 943.125 446.125 971.125Q446.125 999.125 426.625 1018.625Q407.125 1038.125 379.125 1038.125Z" fill="#FFF1CC"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1251.250 1251.250" width="512" height="512" role="img" aria-label="Gardiner Y3, scribe's equipment">
|
|
2
|
+
<rect width="1251.250" height="1251.250" fill="#2E2000"/>
|
|
3
|
+
<path d="M238.125 1126.125V629.125H335.125V257.125Q335.125 251.125 342.125 230.125Q349.125 209.125 367.125 184.625Q385.125 160.125 419.625 142.625Q454.125 125.125 509.125 125.125Q564.125 125.125 598.125 142.625Q632.125 160.125 650.625 184.125Q669.125 208.125 676.125 229.125Q683.125 250.125 683.125 257.125V592.125Q688.125 585.125 696.125 575.125Q730.125 535.125 774.125 505.125Q818.125 475.125 857.125 475.125H859.125V398.125Q856.125 398.125 853.125 397.625Q850.125 397.125 846.125 396.125Q824.125 389.125 813.625 374.625Q803.125 360.125 792.125 340.125Q783.125 323.125 780.625 305.625Q778.125 288.125 772.125 271.125Q768.125 258.125 756.125 250.625Q744.125 243.125 729.125 242.125L726.125 221.125Q731.125 213.125 745.625 202.125Q760.125 191.125 783.125 191.125Q802.125 191.125 817.125 200.125Q825.125 181.125 838.125 160.625Q851.125 140.125 869.125 126.125Q888.125 140.125 901.125 160.625Q914.125 181.125 921.125 200.125Q936.125 191.125 956.125 191.125Q979.125 191.125 993.625 202.125Q1008.125 213.125 1013.125 221.125L1009.125 242.125Q995.125 243.125 983.125 250.625Q971.125 258.125 966.125 271.125Q960.125 288.125 957.625 305.625Q955.125 323.125 947.125 340.125Q937.125 359.125 925.625 374.125Q914.125 389.125 892.125 396.125Q888.125 397.125 885.125 397.125Q882.125 397.125 879.125 398.125V478.125Q899.125 482.125 908.125 493.125Q917.125 504.125 920.125 515.625Q923.125 527.125 923.125 534.125Q923.125 550.125 911.125 566.125Q899.125 582.125 879.125 597.125V1121.125H859.125V611.125Q858.125 611.125 856.125 613.125Q832.125 628.125 805.125 641.125Q778.125 654.125 755.125 664.125Q733.125 674.125 715.125 684.125Q697.125 694.125 683.125 703.125V713.125H721.125Q723.125 716.125 724.625 721.125Q726.125 726.125 726.125 732.125Q726.125 746.125 712.125 765.125Q727.125 775.125 736.125 791.625Q745.125 808.125 745.125 834.125Q745.125 856.125 732.625 877.625Q720.125 899.125 699.125 913.125Q678.125 927.125 652.125 927.125Q627.125 927.125 606.125 913.125Q585.125 899.125 572.625 877.625Q560.125 856.125 560.125 834.125Q560.125 808.125 569.125 791.625Q578.125 775.125 593.125 765.125Q586.125 756.125 583.125 747.125Q580.125 738.125 580.125 732.125Q580.125 726.125 582.125 721.125Q584.125 716.125 585.125 713.125H623.125V275.125Q623.125 270.125 619.125 255.625Q615.125 241.125 603.625 225.125Q592.125 209.125 569.625 197.625Q547.125 186.125 509.125 186.125Q471.125 186.125 448.625 197.625Q426.125 209.125 414.625 225.125Q403.125 241.125 399.125 255.625Q395.125 270.125 395.125 275.125V629.125H520.125V1126.125ZM642.125 663.125Q647.125 653.125 652.125 642.625Q657.125 632.125 664.125 622.125V257.125Q664.125 252.125 658.625 234.125Q653.125 216.125 637.125 195.625Q621.125 175.125 590.125 160.125Q559.125 145.125 509.125 145.125Q459.125 145.125 428.125 160.125Q397.125 175.125 381.125 195.625Q365.125 216.125 359.625 234.125Q354.125 252.125 354.125 257.125V629.125H376.125V275.125Q376.125 269.125 380.125 251.625Q384.125 234.125 396.625 214.125Q409.125 194.125 436.125 180.125Q463.125 166.125 509.125 166.125Q555.125 166.125 581.625 180.125Q608.125 194.125 621.125 214.125Q634.125 234.125 638.125 251.625Q642.125 269.125 642.125 275.125ZM869.125 256.125Q875.125 245.125 883.125 234.125Q891.125 223.125 903.125 211.125Q899.125 196.125 889.625 179.625Q880.125 163.125 869.125 152.125Q845.125 178.125 835.125 211.125Q858.125 234.125 869.125 256.125ZM869.125 381.125Q893.125 381.125 907.125 364.125Q921.125 347.125 930.125 331.125Q939.125 313.125 941.125 296.125Q943.125 279.125 948.125 262.125Q953.125 247.125 965.625 238.125Q978.125 229.125 991.125 225.125Q987.125 222.125 980.125 216.125Q973.125 210.125 959.125 210.125Q932.125 210.125 913.625 228.625Q895.125 247.125 884.125 269.125Q873.125 291.125 869.125 302.125Q866.125 291.125 855.125 269.125Q844.125 247.125 825.625 228.625Q807.125 210.125 780.125 210.125Q766.125 210.125 758.625 216.125Q751.125 222.125 747.125 225.125Q761.125 229.125 773.625 238.125Q786.125 247.125 790.125 262.125Q795.125 279.125 797.125 296.125Q799.125 313.125 809.125 331.125Q817.125 347.125 831.125 364.125Q845.125 381.125 869.125 381.125ZM683.125 680.125Q696.125 672.125 711.125 664.125Q726.125 656.125 745.125 647.125Q771.125 636.125 795.125 624.125Q819.125 612.125 841.125 599.125Q850.125 595.125 859.125 588.125V495.125H857.125Q833.125 495.125 806.625 509.125Q780.125 523.125 755.125 544.625Q730.125 566.125 710.125 589.125Q695.125 607.125 683.125 628.125ZM879.125 573.125Q903.125 552.125 903.125 534.125Q903.125 523.125 898.125 512.625Q893.125 502.125 879.125 498.125ZM257.125 1106.125H501.125V648.125H257.125ZM643.125 709.125 664.125 693.125V664.125Q657.125 677.125 651.625 689.125Q646.125 701.125 643.125 709.125ZM379.125 851.125Q351.125 851.125 331.625 831.625Q312.125 812.125 312.125 784.125Q312.125 756.125 331.625 736.625Q351.125 717.125 379.125 717.125Q407.125 717.125 426.625 736.625Q446.125 756.125 446.125 784.125Q446.125 812.125 426.625 831.625Q407.125 851.125 379.125 851.125ZM610.125 756.125Q630.125 750.125 653.125 750.125Q664.125 750.125 674.625 751.125Q685.125 752.125 695.125 756.125Q706.125 745.125 706.125 733.125H600.125Q600.125 739.125 603.125 745.125Q606.125 751.125 610.125 756.125ZM379.125 832.125Q399.125 832.125 413.125 817.625Q427.125 803.125 427.125 784.125Q427.125 764.125 413.125 750.125Q399.125 736.125 379.125 736.125Q360.125 736.125 346.125 750.125Q332.125 764.125 332.125 784.125Q332.125 803.125 346.125 817.625Q360.125 832.125 379.125 832.125ZM652.125 908.125Q673.125 908.125 689.625 896.625Q706.125 885.125 716.125 867.625Q726.125 850.125 726.125 834.125Q726.125 799.125 704.625 784.125Q683.125 769.125 652.125 769.125Q622.125 769.125 600.625 784.125Q579.125 799.125 579.125 834.125Q579.125 850.125 589.125 867.625Q599.125 885.125 615.625 896.625Q632.125 908.125 652.125 908.125ZM379.125 1038.125Q351.125 1038.125 331.625 1018.625Q312.125 999.125 312.125 971.125Q312.125 943.125 331.625 923.125Q351.125 903.125 379.125 903.125Q407.125 903.125 426.625 923.125Q446.125 943.125 446.125 971.125Q446.125 999.125 426.625 1018.625Q407.125 1038.125 379.125 1038.125Z" fill="#FFF1CC"/>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1251.250 1251.250" width="512" height="512" role="img" aria-label="Gardiner Y3, scribe's equipment">
|
|
2
|
+
<rect width="1251.250" height="1251.250" rx="225.225" ry="225.225" fill="#FFF1CC"/>
|
|
3
|
+
<path d="M238.125 1126.125V629.125H335.125V257.125Q335.125 251.125 342.125 230.125Q349.125 209.125 367.125 184.625Q385.125 160.125 419.625 142.625Q454.125 125.125 509.125 125.125Q564.125 125.125 598.125 142.625Q632.125 160.125 650.625 184.125Q669.125 208.125 676.125 229.125Q683.125 250.125 683.125 257.125V592.125Q688.125 585.125 696.125 575.125Q730.125 535.125 774.125 505.125Q818.125 475.125 857.125 475.125H859.125V398.125Q856.125 398.125 853.125 397.625Q850.125 397.125 846.125 396.125Q824.125 389.125 813.625 374.625Q803.125 360.125 792.125 340.125Q783.125 323.125 780.625 305.625Q778.125 288.125 772.125 271.125Q768.125 258.125 756.125 250.625Q744.125 243.125 729.125 242.125L726.125 221.125Q731.125 213.125 745.625 202.125Q760.125 191.125 783.125 191.125Q802.125 191.125 817.125 200.125Q825.125 181.125 838.125 160.625Q851.125 140.125 869.125 126.125Q888.125 140.125 901.125 160.625Q914.125 181.125 921.125 200.125Q936.125 191.125 956.125 191.125Q979.125 191.125 993.625 202.125Q1008.125 213.125 1013.125 221.125L1009.125 242.125Q995.125 243.125 983.125 250.625Q971.125 258.125 966.125 271.125Q960.125 288.125 957.625 305.625Q955.125 323.125 947.125 340.125Q937.125 359.125 925.625 374.125Q914.125 389.125 892.125 396.125Q888.125 397.125 885.125 397.125Q882.125 397.125 879.125 398.125V478.125Q899.125 482.125 908.125 493.125Q917.125 504.125 920.125 515.625Q923.125 527.125 923.125 534.125Q923.125 550.125 911.125 566.125Q899.125 582.125 879.125 597.125V1121.125H859.125V611.125Q858.125 611.125 856.125 613.125Q832.125 628.125 805.125 641.125Q778.125 654.125 755.125 664.125Q733.125 674.125 715.125 684.125Q697.125 694.125 683.125 703.125V713.125H721.125Q723.125 716.125 724.625 721.125Q726.125 726.125 726.125 732.125Q726.125 746.125 712.125 765.125Q727.125 775.125 736.125 791.625Q745.125 808.125 745.125 834.125Q745.125 856.125 732.625 877.625Q720.125 899.125 699.125 913.125Q678.125 927.125 652.125 927.125Q627.125 927.125 606.125 913.125Q585.125 899.125 572.625 877.625Q560.125 856.125 560.125 834.125Q560.125 808.125 569.125 791.625Q578.125 775.125 593.125 765.125Q586.125 756.125 583.125 747.125Q580.125 738.125 580.125 732.125Q580.125 726.125 582.125 721.125Q584.125 716.125 585.125 713.125H623.125V275.125Q623.125 270.125 619.125 255.625Q615.125 241.125 603.625 225.125Q592.125 209.125 569.625 197.625Q547.125 186.125 509.125 186.125Q471.125 186.125 448.625 197.625Q426.125 209.125 414.625 225.125Q403.125 241.125 399.125 255.625Q395.125 270.125 395.125 275.125V629.125H520.125V1126.125ZM642.125 663.125Q647.125 653.125 652.125 642.625Q657.125 632.125 664.125 622.125V257.125Q664.125 252.125 658.625 234.125Q653.125 216.125 637.125 195.625Q621.125 175.125 590.125 160.125Q559.125 145.125 509.125 145.125Q459.125 145.125 428.125 160.125Q397.125 175.125 381.125 195.625Q365.125 216.125 359.625 234.125Q354.125 252.125 354.125 257.125V629.125H376.125V275.125Q376.125 269.125 380.125 251.625Q384.125 234.125 396.625 214.125Q409.125 194.125 436.125 180.125Q463.125 166.125 509.125 166.125Q555.125 166.125 581.625 180.125Q608.125 194.125 621.125 214.125Q634.125 234.125 638.125 251.625Q642.125 269.125 642.125 275.125ZM869.125 256.125Q875.125 245.125 883.125 234.125Q891.125 223.125 903.125 211.125Q899.125 196.125 889.625 179.625Q880.125 163.125 869.125 152.125Q845.125 178.125 835.125 211.125Q858.125 234.125 869.125 256.125ZM869.125 381.125Q893.125 381.125 907.125 364.125Q921.125 347.125 930.125 331.125Q939.125 313.125 941.125 296.125Q943.125 279.125 948.125 262.125Q953.125 247.125 965.625 238.125Q978.125 229.125 991.125 225.125Q987.125 222.125 980.125 216.125Q973.125 210.125 959.125 210.125Q932.125 210.125 913.625 228.625Q895.125 247.125 884.125 269.125Q873.125 291.125 869.125 302.125Q866.125 291.125 855.125 269.125Q844.125 247.125 825.625 228.625Q807.125 210.125 780.125 210.125Q766.125 210.125 758.625 216.125Q751.125 222.125 747.125 225.125Q761.125 229.125 773.625 238.125Q786.125 247.125 790.125 262.125Q795.125 279.125 797.125 296.125Q799.125 313.125 809.125 331.125Q817.125 347.125 831.125 364.125Q845.125 381.125 869.125 381.125ZM683.125 680.125Q696.125 672.125 711.125 664.125Q726.125 656.125 745.125 647.125Q771.125 636.125 795.125 624.125Q819.125 612.125 841.125 599.125Q850.125 595.125 859.125 588.125V495.125H857.125Q833.125 495.125 806.625 509.125Q780.125 523.125 755.125 544.625Q730.125 566.125 710.125 589.125Q695.125 607.125 683.125 628.125ZM879.125 573.125Q903.125 552.125 903.125 534.125Q903.125 523.125 898.125 512.625Q893.125 502.125 879.125 498.125ZM257.125 1106.125H501.125V648.125H257.125ZM643.125 709.125 664.125 693.125V664.125Q657.125 677.125 651.625 689.125Q646.125 701.125 643.125 709.125ZM379.125 851.125Q351.125 851.125 331.625 831.625Q312.125 812.125 312.125 784.125Q312.125 756.125 331.625 736.625Q351.125 717.125 379.125 717.125Q407.125 717.125 426.625 736.625Q446.125 756.125 446.125 784.125Q446.125 812.125 426.625 831.625Q407.125 851.125 379.125 851.125ZM610.125 756.125Q630.125 750.125 653.125 750.125Q664.125 750.125 674.625 751.125Q685.125 752.125 695.125 756.125Q706.125 745.125 706.125 733.125H600.125Q600.125 739.125 603.125 745.125Q606.125 751.125 610.125 756.125ZM379.125 832.125Q399.125 832.125 413.125 817.625Q427.125 803.125 427.125 784.125Q427.125 764.125 413.125 750.125Q399.125 736.125 379.125 736.125Q360.125 736.125 346.125 750.125Q332.125 764.125 332.125 784.125Q332.125 803.125 346.125 817.625Q360.125 832.125 379.125 832.125ZM652.125 908.125Q673.125 908.125 689.625 896.625Q706.125 885.125 716.125 867.625Q726.125 850.125 726.125 834.125Q726.125 799.125 704.625 784.125Q683.125 769.125 652.125 769.125Q622.125 769.125 600.625 784.125Q579.125 799.125 579.125 834.125Q579.125 850.125 589.125 867.625Q599.125 885.125 615.625 896.625Q632.125 908.125 652.125 908.125ZM379.125 1038.125Q351.125 1038.125 331.625 1018.625Q312.125 999.125 312.125 971.125Q312.125 943.125 331.625 923.125Q351.125 903.125 379.125 903.125Q407.125 903.125 426.625 923.125Q446.125 943.125 446.125 971.125Q446.125 999.125 426.625 1018.625Q407.125 1038.125 379.125 1038.125Z" fill="#2E2000"/>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1251.250 1251.250" width="512" height="512" role="img" aria-label="Gardiner Y3, scribe's equipment">
|
|
2
|
+
<path d="M238.125 1126.125V629.125H335.125V257.125Q335.125 251.125 342.125 230.125Q349.125 209.125 367.125 184.625Q385.125 160.125 419.625 142.625Q454.125 125.125 509.125 125.125Q564.125 125.125 598.125 142.625Q632.125 160.125 650.625 184.125Q669.125 208.125 676.125 229.125Q683.125 250.125 683.125 257.125V592.125Q688.125 585.125 696.125 575.125Q730.125 535.125 774.125 505.125Q818.125 475.125 857.125 475.125H859.125V398.125Q856.125 398.125 853.125 397.625Q850.125 397.125 846.125 396.125Q824.125 389.125 813.625 374.625Q803.125 360.125 792.125 340.125Q783.125 323.125 780.625 305.625Q778.125 288.125 772.125 271.125Q768.125 258.125 756.125 250.625Q744.125 243.125 729.125 242.125L726.125 221.125Q731.125 213.125 745.625 202.125Q760.125 191.125 783.125 191.125Q802.125 191.125 817.125 200.125Q825.125 181.125 838.125 160.625Q851.125 140.125 869.125 126.125Q888.125 140.125 901.125 160.625Q914.125 181.125 921.125 200.125Q936.125 191.125 956.125 191.125Q979.125 191.125 993.625 202.125Q1008.125 213.125 1013.125 221.125L1009.125 242.125Q995.125 243.125 983.125 250.625Q971.125 258.125 966.125 271.125Q960.125 288.125 957.625 305.625Q955.125 323.125 947.125 340.125Q937.125 359.125 925.625 374.125Q914.125 389.125 892.125 396.125Q888.125 397.125 885.125 397.125Q882.125 397.125 879.125 398.125V478.125Q899.125 482.125 908.125 493.125Q917.125 504.125 920.125 515.625Q923.125 527.125 923.125 534.125Q923.125 550.125 911.125 566.125Q899.125 582.125 879.125 597.125V1121.125H859.125V611.125Q858.125 611.125 856.125 613.125Q832.125 628.125 805.125 641.125Q778.125 654.125 755.125 664.125Q733.125 674.125 715.125 684.125Q697.125 694.125 683.125 703.125V713.125H721.125Q723.125 716.125 724.625 721.125Q726.125 726.125 726.125 732.125Q726.125 746.125 712.125 765.125Q727.125 775.125 736.125 791.625Q745.125 808.125 745.125 834.125Q745.125 856.125 732.625 877.625Q720.125 899.125 699.125 913.125Q678.125 927.125 652.125 927.125Q627.125 927.125 606.125 913.125Q585.125 899.125 572.625 877.625Q560.125 856.125 560.125 834.125Q560.125 808.125 569.125 791.625Q578.125 775.125 593.125 765.125Q586.125 756.125 583.125 747.125Q580.125 738.125 580.125 732.125Q580.125 726.125 582.125 721.125Q584.125 716.125 585.125 713.125H623.125V275.125Q623.125 270.125 619.125 255.625Q615.125 241.125 603.625 225.125Q592.125 209.125 569.625 197.625Q547.125 186.125 509.125 186.125Q471.125 186.125 448.625 197.625Q426.125 209.125 414.625 225.125Q403.125 241.125 399.125 255.625Q395.125 270.125 395.125 275.125V629.125H520.125V1126.125ZM642.125 663.125Q647.125 653.125 652.125 642.625Q657.125 632.125 664.125 622.125V257.125Q664.125 252.125 658.625 234.125Q653.125 216.125 637.125 195.625Q621.125 175.125 590.125 160.125Q559.125 145.125 509.125 145.125Q459.125 145.125 428.125 160.125Q397.125 175.125 381.125 195.625Q365.125 216.125 359.625 234.125Q354.125 252.125 354.125 257.125V629.125H376.125V275.125Q376.125 269.125 380.125 251.625Q384.125 234.125 396.625 214.125Q409.125 194.125 436.125 180.125Q463.125 166.125 509.125 166.125Q555.125 166.125 581.625 180.125Q608.125 194.125 621.125 214.125Q634.125 234.125 638.125 251.625Q642.125 269.125 642.125 275.125ZM869.125 256.125Q875.125 245.125 883.125 234.125Q891.125 223.125 903.125 211.125Q899.125 196.125 889.625 179.625Q880.125 163.125 869.125 152.125Q845.125 178.125 835.125 211.125Q858.125 234.125 869.125 256.125ZM869.125 381.125Q893.125 381.125 907.125 364.125Q921.125 347.125 930.125 331.125Q939.125 313.125 941.125 296.125Q943.125 279.125 948.125 262.125Q953.125 247.125 965.625 238.125Q978.125 229.125 991.125 225.125Q987.125 222.125 980.125 216.125Q973.125 210.125 959.125 210.125Q932.125 210.125 913.625 228.625Q895.125 247.125 884.125 269.125Q873.125 291.125 869.125 302.125Q866.125 291.125 855.125 269.125Q844.125 247.125 825.625 228.625Q807.125 210.125 780.125 210.125Q766.125 210.125 758.625 216.125Q751.125 222.125 747.125 225.125Q761.125 229.125 773.625 238.125Q786.125 247.125 790.125 262.125Q795.125 279.125 797.125 296.125Q799.125 313.125 809.125 331.125Q817.125 347.125 831.125 364.125Q845.125 381.125 869.125 381.125ZM683.125 680.125Q696.125 672.125 711.125 664.125Q726.125 656.125 745.125 647.125Q771.125 636.125 795.125 624.125Q819.125 612.125 841.125 599.125Q850.125 595.125 859.125 588.125V495.125H857.125Q833.125 495.125 806.625 509.125Q780.125 523.125 755.125 544.625Q730.125 566.125 710.125 589.125Q695.125 607.125 683.125 628.125ZM879.125 573.125Q903.125 552.125 903.125 534.125Q903.125 523.125 898.125 512.625Q893.125 502.125 879.125 498.125ZM257.125 1106.125H501.125V648.125H257.125ZM643.125 709.125 664.125 693.125V664.125Q657.125 677.125 651.625 689.125Q646.125 701.125 643.125 709.125ZM379.125 851.125Q351.125 851.125 331.625 831.625Q312.125 812.125 312.125 784.125Q312.125 756.125 331.625 736.625Q351.125 717.125 379.125 717.125Q407.125 717.125 426.625 736.625Q446.125 756.125 446.125 784.125Q446.125 812.125 426.625 831.625Q407.125 851.125 379.125 851.125ZM610.125 756.125Q630.125 750.125 653.125 750.125Q664.125 750.125 674.625 751.125Q685.125 752.125 695.125 756.125Q706.125 745.125 706.125 733.125H600.125Q600.125 739.125 603.125 745.125Q606.125 751.125 610.125 756.125ZM379.125 832.125Q399.125 832.125 413.125 817.625Q427.125 803.125 427.125 784.125Q427.125 764.125 413.125 750.125Q399.125 736.125 379.125 736.125Q360.125 736.125 346.125 750.125Q332.125 764.125 332.125 784.125Q332.125 803.125 346.125 817.625Q360.125 832.125 379.125 832.125ZM652.125 908.125Q673.125 908.125 689.625 896.625Q706.125 885.125 716.125 867.625Q726.125 850.125 726.125 834.125Q726.125 799.125 704.625 784.125Q683.125 769.125 652.125 769.125Q622.125 769.125 600.625 784.125Q579.125 799.125 579.125 834.125Q579.125 850.125 589.125 867.625Q599.125 885.125 615.625 896.625Q632.125 908.125 652.125 908.125ZM379.125 1038.125Q351.125 1038.125 331.625 1018.625Q312.125 999.125 312.125 971.125Q312.125 943.125 331.625 923.125Q351.125 903.125 379.125 903.125Q407.125 903.125 426.625 923.125Q446.125 943.125 446.125 971.125Q446.125 999.125 426.625 1018.625Q407.125 1038.125 379.125 1038.125Z" fill="#2E2000"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1251.250 1251.250" width="512" height="512" role="img" aria-label="Gardiner Y3, scribe's equipment">
|
|
2
|
+
<rect width="1251.250" height="1251.250" fill="#FFF1CC"/>
|
|
3
|
+
<path d="M238.125 1126.125V629.125H335.125V257.125Q335.125 251.125 342.125 230.125Q349.125 209.125 367.125 184.625Q385.125 160.125 419.625 142.625Q454.125 125.125 509.125 125.125Q564.125 125.125 598.125 142.625Q632.125 160.125 650.625 184.125Q669.125 208.125 676.125 229.125Q683.125 250.125 683.125 257.125V592.125Q688.125 585.125 696.125 575.125Q730.125 535.125 774.125 505.125Q818.125 475.125 857.125 475.125H859.125V398.125Q856.125 398.125 853.125 397.625Q850.125 397.125 846.125 396.125Q824.125 389.125 813.625 374.625Q803.125 360.125 792.125 340.125Q783.125 323.125 780.625 305.625Q778.125 288.125 772.125 271.125Q768.125 258.125 756.125 250.625Q744.125 243.125 729.125 242.125L726.125 221.125Q731.125 213.125 745.625 202.125Q760.125 191.125 783.125 191.125Q802.125 191.125 817.125 200.125Q825.125 181.125 838.125 160.625Q851.125 140.125 869.125 126.125Q888.125 140.125 901.125 160.625Q914.125 181.125 921.125 200.125Q936.125 191.125 956.125 191.125Q979.125 191.125 993.625 202.125Q1008.125 213.125 1013.125 221.125L1009.125 242.125Q995.125 243.125 983.125 250.625Q971.125 258.125 966.125 271.125Q960.125 288.125 957.625 305.625Q955.125 323.125 947.125 340.125Q937.125 359.125 925.625 374.125Q914.125 389.125 892.125 396.125Q888.125 397.125 885.125 397.125Q882.125 397.125 879.125 398.125V478.125Q899.125 482.125 908.125 493.125Q917.125 504.125 920.125 515.625Q923.125 527.125 923.125 534.125Q923.125 550.125 911.125 566.125Q899.125 582.125 879.125 597.125V1121.125H859.125V611.125Q858.125 611.125 856.125 613.125Q832.125 628.125 805.125 641.125Q778.125 654.125 755.125 664.125Q733.125 674.125 715.125 684.125Q697.125 694.125 683.125 703.125V713.125H721.125Q723.125 716.125 724.625 721.125Q726.125 726.125 726.125 732.125Q726.125 746.125 712.125 765.125Q727.125 775.125 736.125 791.625Q745.125 808.125 745.125 834.125Q745.125 856.125 732.625 877.625Q720.125 899.125 699.125 913.125Q678.125 927.125 652.125 927.125Q627.125 927.125 606.125 913.125Q585.125 899.125 572.625 877.625Q560.125 856.125 560.125 834.125Q560.125 808.125 569.125 791.625Q578.125 775.125 593.125 765.125Q586.125 756.125 583.125 747.125Q580.125 738.125 580.125 732.125Q580.125 726.125 582.125 721.125Q584.125 716.125 585.125 713.125H623.125V275.125Q623.125 270.125 619.125 255.625Q615.125 241.125 603.625 225.125Q592.125 209.125 569.625 197.625Q547.125 186.125 509.125 186.125Q471.125 186.125 448.625 197.625Q426.125 209.125 414.625 225.125Q403.125 241.125 399.125 255.625Q395.125 270.125 395.125 275.125V629.125H520.125V1126.125ZM642.125 663.125Q647.125 653.125 652.125 642.625Q657.125 632.125 664.125 622.125V257.125Q664.125 252.125 658.625 234.125Q653.125 216.125 637.125 195.625Q621.125 175.125 590.125 160.125Q559.125 145.125 509.125 145.125Q459.125 145.125 428.125 160.125Q397.125 175.125 381.125 195.625Q365.125 216.125 359.625 234.125Q354.125 252.125 354.125 257.125V629.125H376.125V275.125Q376.125 269.125 380.125 251.625Q384.125 234.125 396.625 214.125Q409.125 194.125 436.125 180.125Q463.125 166.125 509.125 166.125Q555.125 166.125 581.625 180.125Q608.125 194.125 621.125 214.125Q634.125 234.125 638.125 251.625Q642.125 269.125 642.125 275.125ZM869.125 256.125Q875.125 245.125 883.125 234.125Q891.125 223.125 903.125 211.125Q899.125 196.125 889.625 179.625Q880.125 163.125 869.125 152.125Q845.125 178.125 835.125 211.125Q858.125 234.125 869.125 256.125ZM869.125 381.125Q893.125 381.125 907.125 364.125Q921.125 347.125 930.125 331.125Q939.125 313.125 941.125 296.125Q943.125 279.125 948.125 262.125Q953.125 247.125 965.625 238.125Q978.125 229.125 991.125 225.125Q987.125 222.125 980.125 216.125Q973.125 210.125 959.125 210.125Q932.125 210.125 913.625 228.625Q895.125 247.125 884.125 269.125Q873.125 291.125 869.125 302.125Q866.125 291.125 855.125 269.125Q844.125 247.125 825.625 228.625Q807.125 210.125 780.125 210.125Q766.125 210.125 758.625 216.125Q751.125 222.125 747.125 225.125Q761.125 229.125 773.625 238.125Q786.125 247.125 790.125 262.125Q795.125 279.125 797.125 296.125Q799.125 313.125 809.125 331.125Q817.125 347.125 831.125 364.125Q845.125 381.125 869.125 381.125ZM683.125 680.125Q696.125 672.125 711.125 664.125Q726.125 656.125 745.125 647.125Q771.125 636.125 795.125 624.125Q819.125 612.125 841.125 599.125Q850.125 595.125 859.125 588.125V495.125H857.125Q833.125 495.125 806.625 509.125Q780.125 523.125 755.125 544.625Q730.125 566.125 710.125 589.125Q695.125 607.125 683.125 628.125ZM879.125 573.125Q903.125 552.125 903.125 534.125Q903.125 523.125 898.125 512.625Q893.125 502.125 879.125 498.125ZM257.125 1106.125H501.125V648.125H257.125ZM643.125 709.125 664.125 693.125V664.125Q657.125 677.125 651.625 689.125Q646.125 701.125 643.125 709.125ZM379.125 851.125Q351.125 851.125 331.625 831.625Q312.125 812.125 312.125 784.125Q312.125 756.125 331.625 736.625Q351.125 717.125 379.125 717.125Q407.125 717.125 426.625 736.625Q446.125 756.125 446.125 784.125Q446.125 812.125 426.625 831.625Q407.125 851.125 379.125 851.125ZM610.125 756.125Q630.125 750.125 653.125 750.125Q664.125 750.125 674.625 751.125Q685.125 752.125 695.125 756.125Q706.125 745.125 706.125 733.125H600.125Q600.125 739.125 603.125 745.125Q606.125 751.125 610.125 756.125ZM379.125 832.125Q399.125 832.125 413.125 817.625Q427.125 803.125 427.125 784.125Q427.125 764.125 413.125 750.125Q399.125 736.125 379.125 736.125Q360.125 736.125 346.125 750.125Q332.125 764.125 332.125 784.125Q332.125 803.125 346.125 817.625Q360.125 832.125 379.125 832.125ZM652.125 908.125Q673.125 908.125 689.625 896.625Q706.125 885.125 716.125 867.625Q726.125 850.125 726.125 834.125Q726.125 799.125 704.625 784.125Q683.125 769.125 652.125 769.125Q622.125 769.125 600.625 784.125Q579.125 799.125 579.125 834.125Q579.125 850.125 589.125 867.625Q599.125 885.125 615.625 896.625Q632.125 908.125 652.125 908.125ZM379.125 1038.125Q351.125 1038.125 331.625 1018.625Q312.125 999.125 312.125 971.125Q312.125 943.125 331.625 923.125Q351.125 903.125 379.125 903.125Q407.125 903.125 426.625 923.125Q446.125 943.125 446.125 971.125Q446.125 999.125 426.625 1018.625Q407.125 1038.125 379.125 1038.125Z" fill="#2E2000"/>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"""Configuration file for the `Sphinx` documentation builder.""" # ruff: ignore[implicit-namespace-package]
|
|
2
|
+
|
|
3
|
+
# For the full list of built-in configuration values, see documentation:
|
|
4
|
+
# https://www.sphinx-doc.org/en/master/usage/configuration.html
|
|
5
|
+
|
|
6
|
+
import sys
|
|
7
|
+
from pathlib import Path
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
sys.path.insert(0, str(Path("../../src").resolve()))
|
|
11
|
+
|
|
12
|
+
from sefkhet import __version__ # pylint: disable=wrong-import-position
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
# -- Project information -----------------------------------------------
|
|
16
|
+
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
|
|
17
|
+
|
|
18
|
+
project = "sefkhet"
|
|
19
|
+
copyright = ( # pylint: disable=redefined-builtin # ruff: ignore[builtin-variable-shadowing]
|
|
20
|
+
"2026, Danny Collinson"
|
|
21
|
+
)
|
|
22
|
+
author = "Danny Collinson"
|
|
23
|
+
version = __version__
|
|
24
|
+
release = version
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
# -- General configuration ---------------------------------------------
|
|
28
|
+
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
templates_path = ["_templates"]
|
|
32
|
+
exclude_patterns: list[str] = []
|
|
33
|
+
|
|
34
|
+
today_fmt = "%Y-%m-%d"
|
|
35
|
+
|
|
36
|
+
nitpicky = True
|
|
37
|
+
|
|
38
|
+
# -- Extensions configuration ------------------------------------------
|
|
39
|
+
|
|
40
|
+
extensions = [
|
|
41
|
+
"sphinx.ext.autodoc",
|
|
42
|
+
"sphinx.ext.autosummary",
|
|
43
|
+
"sphinx.ext.napoleon",
|
|
44
|
+
"sphinx.ext.githubpages",
|
|
45
|
+
"myst_parser",
|
|
46
|
+
"nbsphinx",
|
|
47
|
+
]
|
|
48
|
+
|
|
49
|
+
autosummary_generate = True
|
|
50
|
+
|
|
51
|
+
napoleon_google_docstring = True
|
|
52
|
+
napoleon_numpy_docstring = False
|
|
53
|
+
napoleon_use_param = True
|
|
54
|
+
napoleon_use_keyword = True
|
|
55
|
+
napoleon_use_ivar = True
|
|
56
|
+
napoleon_use_rtype = False
|
|
57
|
+
napoleon_include_init_with_doc = True
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
# -- Options for HTML output -------------------------------------------
|
|
61
|
+
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
|
|
62
|
+
|
|
63
|
+
html_theme = "sphinx_rtd_theme"
|
|
64
|
+
html_static_path = ["_static"]
|
|
65
|
+
|
|
66
|
+
html_theme_options = {
|
|
67
|
+
"collapse_navigation": False,
|
|
68
|
+
"style_nav_header_background": "#ffffff",
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
html_logo = "./_static/img/sefkhet-logo.png"
|
|
72
|
+
html_favicon = "./_static/img/sefkhet-favicon.ico"
|
|
73
|
+
|
|
74
|
+
html_last_updated_fmt = "%Y-%m-%d at %H:%M UTC"
|
|
75
|
+
html_last_updated_use_utc = True
|