Compare commits

...

62 Commits

Author SHA1 Message Date
Joseph Hopfmüller
249fe1e940 wip 2025-01-27 21:05:49 +01:00
Joseph Hopfmüller
f38d0ca3bb model robustness testing 2025-01-10 23:40:54 +01:00
Joseph Hopfmüller
3af73343c1 add corrected datasets with PMD and dispersion 2024-12-29 16:41:52 +01:00
Joseph Hopfmüller
7a0b65f82d Merge branch 'machine_learning' of git.suuppl.dev:seppl/optical-regeneration into machine_learning 2024-12-29 16:00:41 +01:00
Joseph Hopfmüller
98305fdf47 update dataset configurations, add rotation module, and refine model settings for training, new hyperparameter tuning run for corrected datasets 2024-12-29 16:00:36 +01:00
Joseph Hopfmüller
33141bdf41 add datasets with PMD and dispersion 2024-12-29 15:59:01 +01:00
Joseph Hopfmüller
638b62ee03 add training data, y-pol phase shifted by 90 deg, x/y different powers 2024-12-11 10:56:30 +01:00
Joseph Hopfmüller
98d0b5ba8d add training data, y-pol phase shifted by 90 deg 2024-12-11 10:03:29 +01:00
Joseph Hopfmüller
39ae13d0af add training script for polarization estimation, refactor model definitions, randomised polarisation support in data_loader 2024-12-11 09:48:38 +01:00
Joseph Hopfmüller
0e29b87395 add regenerator class and update dataset configurations for model training 2024-12-05 23:55:03 +01:00
Joseph Hopfmüller
884d9f73c9 add default to birefsteps 2024-12-05 23:50:49 +01:00
Joseph Hopfmüller
08c81428ef add new training data 2024-12-05 23:50:14 +01:00
Joseph Hopfmüller
9299316f81 add new training_data 2024-12-05 23:43:24 +01:00
Joseph Hopfmüller
2fcf621a50 update submodule to latest commit 2024-12-05 23:29:53 +01:00
Joseph Hopfmüller
36f89f379d refactor signal generation to support single-channel mode and adjust birefringence parameters 2024-12-05 23:29:48 +01:00
Joseph Hopfmüller
950516197c add new training data 2024-12-04 13:22:50 +01:00
Joseph Hopfmüller
b7eecea1ae add new training data 2024-12-04 10:07:39 +01:00
Joseph Hopfmüller
d3626f9a44 remove newly generated training data 2024-12-04 10:00:50 +01:00
Joseph Hopfmüller
7f89c02d8d update submodule to latest commit 2024-12-02 18:54:15 +01:00
Joseph Hopfmüller
a8a1c49c00 Merge branch 'machine_learning' of git.suuppl.dev:seppl/optical-regeneration into machine_learning 2024-12-02 18:51:30 +01:00
Joseph Hopfmüller
297e9e8d7f update submodule configuration and enhance model settings; add eye diagram functionality 2024-12-02 18:50:43 +01:00
Joseph Hopfmüller
aa2e7a4cb4 move sliced dataset testing script 2024-12-02 18:50:13 +01:00
Joseph Hopfmüller
1dcefecf59 update signal generation patterns in generate_signal.py 2024-12-02 18:49:38 +01:00
Joseph Hopfmüller
a5f2f49360 enhance data loading and processing in FiberRegenerationDataset; add timestamps and support for multiple file paths 2024-12-02 18:49:14 +01:00
Joseph Hopfmüller
e20aa9bfb1 add eye_diagram analysis 2024-12-02 18:48:43 +01:00
Joseph Hopfmüller
010889af13 generate training data with finer length steps 2024-12-02 18:45:10 +01:00
Joseph Hopfmüller
c145d58df8 update subproject reference to latest commit 2024-11-29 15:53:08 +01:00
Joseph Hopfmüller
487288c923 define new activation functions and parametrizations 2024-11-29 15:51:25 +01:00
Joseph Hopfmüller
bdf6f5bfb8 clean up regen_no_hyper.py 2024-11-29 15:50:34 +01:00
Joseph Hopfmüller
e02662ed4f new optuna studies 2024-11-29 15:49:59 +01:00
Joseph Hopfmüller
fd7a0b9c31 using latest knowledge for hyperparameter search 2024-11-29 15:49:46 +01:00
Joseph Hopfmüller
ff32aefd52 minor fixes and changes 2024-11-29 15:49:10 +01:00
Joseph Hopfmüller
b156b9ceaf refactor hypertraining.py to improve model layer handling and response plotting; adjust data settings for batch processing 2024-11-29 15:48:27 +01:00
Joseph Hopfmüller
cfa08aae4e add training.py for defining and running models without hyperparametertuning 2024-11-29 15:48:18 +01:00
Joseph Hopfmüller
0422c81f3b update single_core_regen settings new runs 2024-11-24 01:56:01 +01:00
Joseph Hopfmüller
7343ccb3a5 refactor complex loss functions for improved readability; update settings and dataset classes for consistency 2024-11-24 01:55:32 +01:00
Joseph Hopfmüller
9a16a5637d add optional parameter suggestion methods for Optuna trials 2024-11-24 01:55:12 +01:00
Joseph Hopfmüller
80e9a3379e add autosampler support 2024-11-20 23:10:14 +01:00
Joseph Hopfmüller
8d4d0468bd complexhalf (complex32) isn't supported by torch.linalg.qr 2024-11-20 22:56:26 +01:00
Joseph Hopfmüller
6358c95c42 new hyperparameter db 2024-11-20 22:49:40 +01:00
Joseph Hopfmüller
674033ac2e move hypertraining class into separate file;
move settings dataclasses into separate file;
add SemiUnitaryLayer;
clean up model response plotting code;
cnt hyperparameter search
2024-11-20 22:49:31 +01:00
Joseph Hopfmüller
cdca5de473 training loop speedup 2024-11-20 11:29:18 +01:00
Joseph Hopfmüller
1622c38582 refactor: remove unused Optuna visualization utility 2024-11-17 22:23:37 +01:00
Joseph Hopfmüller
2bba760378 add: implement Optuna visualization utility with Dash 2024-11-17 22:23:01 +01:00
Joseph Hopfmüller
9ec548757d add: regen.py (main hyperparameter training file)
feat: add utility functions for fiber dataset visualization and hyperparameter training;
housekeeping: rename dataset.py -> datasets.py
2024-11-17 22:22:37 +01:00
Joseph Hopfmüller
05a3ee9394 refactor: clean up .gitignore, remove unused scripts 2024-11-17 22:18:44 +01:00
Joseph Hopfmüller
086240489a minor edits on notes 2024-11-17 22:16:52 +01:00
Joseph Hopfmüller
87f40fc37c add SlicedDataset class and utility scripts; refactor: remove _path_fix.py and update imports; 2024-11-17 01:04:33 +01:00
Joseph Hopfmüller
90aa6dbaf8 housekeeping 2024-11-17 01:04:14 +01:00
Joseph Hopfmüller
744c5f5166 rename dir;
add torch import test script
2024-11-16 00:39:19 +01:00
Joseph Hopfmüller
939a511625 add installation notes for CUDA 12.4, pyenv, and PyTorch; include useful links 2024-11-16 00:03:43 +01:00
Joseph Hopfmüller
2bf47dc0c0 more precise clone instructions 2024-11-15 23:54:33 +01:00
Joseph Hopfmüller
5871c79501 update README with cloning notes and adjust path in _path_fix.py for submodule import 2024-11-15 21:21:50 +01:00
Joseph Hopfmüller
f7217a93bb add pypho as submodule 2024-11-15 21:00:19 +01:00
Joseph Hopfmüller
5e2d3dd6b7 change pypho symlink to submodule and handle new location in _path_fix.py 2024-11-15 20:56:34 +01:00
Joseph Hopfmüller
c42da6ca58 add license EUPL-1.2 2024-11-15 18:28:45 +01:00
Joseph Hopfmüller
e929991b3d add datasets to LFS 2024-11-15 18:27:19 +01:00
Joseph Hopfmüller
fa85fca978 add data to lfs 2024-11-15 17:01:29 +01:00
Joseph Hopfmüller
9c43ce4c85 git lfs setup cont'd 2 2024-11-15 16:54:03 +01:00
Joseph Hopfmüller
c76bfd20fe lfs setup cont'd 2024-11-15 16:49:09 +01:00
Joseph Hopfmüller
f3544bc9ce setup lfs 2024-11-15 16:46:49 +01:00
Joseph Hopfmüller
0564969a50 signal generation working 2024-11-15 16:46:09 +01:00
459 changed files with 93534 additions and 451 deletions

28
.gitattributes vendored Normal file
View File

@@ -0,0 +1,28 @@
data/**/* filter=lfs diff=lfs merge=lfs -text
data/*.db filter=lfs diff=lfs merge=lfs -text
data/*.ini filter=lfs diff=lfs merge=lfs text
## lfs setup
# Archives
*.7z filter=lfs diff=lfs merge=lfs -text
*.br filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.tar filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
# Documents
*.pdf filter=lfs diff=lfs merge=lfs -text
# Images
*.gif filter=lfs diff=lfs merge=lfs -text
*.ico filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.psd filter=lfs diff=lfs merge=lfs -text
*.webp filter=lfs diff=lfs merge=lfs -text
# Fonts
*.woff2 filter=lfs diff=lfs merge=lfs -text
# Other
*.exe filter=lfs diff=lfs merge=lfs -text

9
.gitignore vendored
View File

@@ -1,3 +1,6 @@
src/**/*.ini
.*
# Byte-compiled / optimized / DLL files # Byte-compiled / optimized / DLL files
__pycache__/ __pycache__/
*.py[cod] *.py[cod]
@@ -160,7 +163,5 @@ cython_debug/
# and can be added to the global gitignore or merged into this file. For a more nuclear # and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder. # option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/ #.idea/
tolerance_results/*
# VSCode data/*
.vscode
pypho

4
.gitmodules vendored Normal file
View File

@@ -0,0 +1,4 @@
[submodule "pypho"]
path = pypho
url = git@gitlab.lrz.de:000000003B9B3E61/pypho.git
branch = main

290
LICENSE Normal file
View File

@@ -0,0 +1,290 @@
# EUROPEAN UNION PUBLIC LICENCE v. 1.2
> EUPL © the European Union 2007, 2016
This European Union Public Licence (the 'EUPL') applies to the Work (as defined
below) which is provided under the terms of this Licence. Any use of the Work,
other than as authorised under this Licence is prohibited (to the extent such
use is covered by a right of the copyright holder of the Work).
The Work is provided under the terms of this Licence when the Licensor (as
defined below) has placed the following notice immediately following the
copyright notice for the Work:
```raw
Licensed under the EUPL
```
or has expressed by any other means his willingness to license under the EUPL.
## 1. Definitions
In this Licence, the following terms have the following meaning:
- 'The Licence': this Licence.
- 'The Original Work': the work or software distributed or communicated by the
Licensor under this Licence, available as Source Code and also as Executable
Code as the case may be.
- 'Derivative Works': the works or software that could be created by the
Licensee, based upon the Original Work or modifications thereof. This Licence
does not define the extent of modification or dependence on the Original Work
required in order to classify a work as a Derivative Work; this extent is
determined by copyright law applicable in the country mentioned in Article 15.
- 'The Work': the Original Work or its Derivative Works.
- 'The Source Code': the human-readable form of the Work which is the most
convenient for people to study and modify.
- 'The Executable Code': any code which has generally been compiled and which is
meant to be interpreted by a computer as a program.
- 'The Licensor': the natural or legal person that distributes or communicates
the Work under the Licence.
- 'Contributor(s)': any natural or legal person who modifies the Work under the
Licence, or otherwise contributes to the creation of a Derivative Work.
- 'The Licensee' or 'You': any natural or legal person who makes any usage of
the Work under the terms of the Licence.
- 'Distribution' or 'Communication': any act of selling, giving, lending,
renting, distributing, communicating, transmitting, or otherwise making
available, online or offline, copies of the Work or providing access to its
essential functionalities at the disposal of any other natural or legal
person.
## 2. Scope of the rights granted by the Licence
The Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
sublicensable licence to do the following, for the duration of copyright vested
in the Original Work:
- use the Work in any circumstance and for all usage,
- reproduce the Work,
- modify the Work, and make Derivative Works based upon the Work,
- communicate to the public, including the right to make available or display
the Work or copies thereof to the public and perform publicly, as the case may
be, the Work,
- distribute the Work or copies thereof,
- lend and rent the Work or copies thereof,
- sublicense rights in the Work or copies thereof.
Those rights can be exercised on any media, supports and formats, whether now
known or later invented, as far as the applicable law permits so.
In the countries where moral rights apply, the Licensor waives his right to
exercise his moral right to the extent allowed by law in order to make effective
the licence of the economic rights here above listed.
The Licensor grants to the Licensee royalty-free, non-exclusive usage rights to
any patents held by the Licensor, to the extent necessary to make use of the
rights granted on the Work under this Licence.
## 3. Communication of the Source Code
The Licensor may provide the Work either in its Source Code form, or as
Executable Code. If the Work is provided as Executable Code, the Licensor
provides in addition a machine-readable copy of the Source Code of the Work
along with each copy of the Work that the Licensor distributes or indicates, in
a notice following the copyright notice attached to the Work, a repository where
the Source Code is easily and freely accessible for as long as the Licensor
continues to distribute or communicate the Work.
## 4. Limitations on copyright
Nothing in this Licence is intended to deprive the Licensee of the benefits from
any exception or limitation to the exclusive rights of the rights owners in the
Work, of the exhaustion of those rights or of other applicable limitations
thereto.
## 5. Obligations of the Licensee
The grant of the rights mentioned above is subject to some restrictions and
obligations imposed on the Licensee. Those obligations are the following:
Attribution right: The Licensee shall keep intact all copyright, patent or
trademarks notices and all notices that refer to the Licence and to the
disclaimer of warranties. The Licensee must include a copy of such notices and a
copy of the Licence with every copy of the Work he/she distributes or
communicates. The Licensee must cause any Derivative Work to carry prominent
notices stating that the Work has been modified and the date of modification.
Copyleft clause: If the Licensee distributes or communicates copies of the
Original Works or Derivative Works, this Distribution or Communication will be
done under the terms of this Licence or of a later version of this Licence
unless the Original Work is expressly distributed only under this version of the
Licence — for example by communicating 'EUPL v. 1.2 only'. The Licensee
(becoming Licensor) cannot offer or impose any additional terms or conditions on
the Work or Derivative Work that alter or restrict the terms of the Licence.
Compatibility clause: If the Licensee Distributes or Communicates Derivative
Works or copies thereof based upon both the Work and another work licensed under
a Compatible Licence, this Distribution or Communication can be done under the
terms of this Compatible Licence. For the sake of this clause, 'Compatible
Licence' refers to the licences listed in the appendix attached to this Licence.
Should the Licensee's obligations under the Compatible Licence conflict with
his/her obligations under this Licence, the obligations of the Compatible
Licence shall prevail.
Provision of Source Code: When distributing or communicating copies of the Work,
the Licensee will provide a machine-readable copy of the Source Code or indicate
a repository where this Source will be easily and freely available for as long
as the Licensee continues to distribute or communicate the Work.
Legal Protection: This Licence does not grant permission to use the trade names,
trademarks, service marks, or names of the Licensor, except as required for
reasonable and customary use in describing the origin of the Work and
reproducing the content of the copyright notice.
## 6. Chain of Authorship
The original Licensor warrants that the copyright in the Original Work granted
hereunder is owned by him/her or licensed to him/her and that he/she has the
power and authority to grant the Licence.
Each Contributor warrants that the copyright in the modifications he/she brings
to the Work are owned by him/her or licensed to him/her and that he/she has the
power and authority to grant the Licence.
Each time You accept the Licence, the original Licensor and subsequent
Contributors grant You a licence to their contributions to the Work, under the
terms of this Licence.
## 7. Disclaimer of Warranty
The Work is a work in progress, which is continuously improved by numerous
Contributors. It is not a finished work and may therefore contain defects or
'bugs' inherent to this type of development.
For the above reason, the Work is provided under the Licence on an 'as is' basis
and without warranties of any kind concerning the Work, including without
limitation merchantability, fitness for a particular purpose, absence of defects
or errors, accuracy, non-infringement of intellectual property rights other than
copyright as stated in Article 6 of this Licence.
This disclaimer of warranty is an essential part of the Licence and a condition
for the grant of any rights to the Work.
## 8. Disclaimer of Liability
Except in the cases of wilful misconduct or damages directly caused to natural
persons, the Licensor will in no event be liable for any direct or indirect,
material or moral, damages of any kind, arising out of the Licence or of the use
of the Work, including without limitation, damages for loss of goodwill, work
stoppage, computer failure or malfunction, loss of data or any commercial
damage, even if the Licensor has been advised of the possibility of such damage.
However, the Licensor will be liable under statutory product liability laws as
far such laws apply to the Work.
## 9. Additional agreements
While distributing the Work, You may choose to conclude an additional agreement,
defining obligations or services consistent with this Licence. However, if
accepting obligations, You may act only on your own behalf and on your sole
responsibility, not on behalf of the original Licensor or any other Contributor,
and only if You agree to indemnify, defend, and hold each Contributor harmless
for any liability incurred by, or claims asserted against such Contributor by
the fact You have accepted any warranty or additional liability.
## 10. Acceptance of the Licence
The provisions of this Licence can be accepted by clicking on an icon 'I agree'
placed under the bottom of a window displaying the text of this Licence or by
affirming consent in any other similar way, in accordance with the rules of
applicable law. Clicking on that icon indicates your clear and irrevocable
acceptance of this Licence and all of its terms and conditions.
Similarly, you irrevocably accept this Licence and all of its terms and
conditions by exercising any rights granted to You by Article 2 of this Licence,
such as the use of the Work, the creation by You of a Derivative Work or the
Distribution or Communication by You of the Work or copies thereof.
## 11. Information to the public
In case of any Distribution or Communication of the Work by means of electronic
communication by You (for example, by offering to download the Work from a
remote location) the distribution channel or media (for example, a website) must
at least provide to the public the information requested by the applicable law
regarding the Licensor, the Licence and the way it may be accessible, concluded,
stored and reproduced by the Licensee.
## 12. Termination of the Licence
The Licence and the rights granted hereunder will terminate automatically upon
any breach by the Licensee of the terms of the Licence.
Such a termination will not terminate the licences of any person who has
received the Work from the Licensee under the Licence, provided such persons
remain in full compliance with the Licence.
## 13. Miscellaneous
Without prejudice of Article 9 above, the Licence represents the complete
agreement between the Parties as to the Work.
If any provision of the Licence is invalid or unenforceable under applicable
law, this will not affect the validity or enforceability of the Licence as a
whole. Such provision will be construed or reformed so as necessary to make it
valid and enforceable.
The European Commission may publish other linguistic versions or new versions of
this Licence or updated versions of the Appendix, so far this is required and
reasonable, without reducing the scope of the rights granted by the Licence. New
versions of the Licence will be published with a unique version number.
All linguistic versions of this Licence, approved by the European Commission,
have identical value. Parties can take advantage of the linguistic version of
their choice.
## 14. Jurisdiction
Without prejudice to specific agreement between parties,
- any litigation resulting from the interpretation of this License, arising
between the European Union institutions, bodies, offices or agencies, as a
Licensor, and any Licensee, will be subject to the jurisdiction of the Court
of Justice of the European Union, as laid down in article 272 of the Treaty on
the Functioning of the European Union,
- any litigation arising between other parties and resulting from the
interpretation of this License, will be subject to the exclusive jurisdiction
of the competent court where the Licensor resides or conducts its primary
business.
## 15. Applicable Law
Without prejudice to specific agreement between parties,
- this Licence shall be governed by the law of the European Union Member State
where the Licensor has his seat, resides or has his registered office,
- this licence shall be governed by Belgian law if the Licensor has no seat,
residence or registered office inside a European Union Member State.
## Appendix
'Compatible Licences' according to Article 5 EUPL are:
- GNU General Public License (GPL) v. 2, v. 3
- GNU Affero General Public License (AGPL) v. 3
- Open Software License (OSL) v. 2.1, v. 3.0
- Eclipse Public License (EPL) v. 1.0
- CeCILL v. 2.0, v. 2.1
- Mozilla Public Licence (MPL) v. 2
- GNU Lesser General Public Licence (LGPL) v. 2.1, v. 3
- Creative Commons Attribution-ShareAlike v. 3.0 Unported (CC BY-SA 3.0) for
works other than software
- European Union Public Licence (EUPL) v. 1.1, v. 1.2
- Québec Free and Open-Source Licence — Reciprocity (LiLiQ-R) or Strong
Reciprocity (LiLiQ-R+).
The European Commission may update this Appendix to later versions of the above
licences without producing a new version of the EUPL, as long as they provide
the rights granted in Article 2 of this Licence and protect the covered Source
Code from exclusive appropriation.
All other changes or additions to this Appendix require the production of a new
EUPL version.

108
README.md
View File

@@ -1,93 +1,33 @@
<!--
README.md
This file is part of the repo "optical-regeneration"
https://git.suuppl.dev/seppl/optical-regeneration.git
Joseph Hopfmüller
Copyright 2024
Licensed under the EUPL
Full license text in LICENSE file
-->
# optical-regeneration # optical-regeneration
## Notes on cloning
- `pypho` is added as a submodule -> `--recurse-submodules`
- This repo has about 7.5GB of datasets in it. The `git lfs fetch` step will take a while.
## Getting started ```bash
apt install git-lfs
To make it easy for you to get started with GitLab, here's a list of recommended next steps. # only necessary once per user account
git lfs install
Already a pro? Just edit this README.md and make it your own. Want to make it easy? [Use the template at the bottom](#editing-this-readme)!
## Add your files
- [ ] [Create](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#create-a-file) or [upload](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#upload-a-file) files
- [ ] [Add files using the command line](https://docs.gitlab.com/ee/gitlab-basics/add-file.html#add-a-file-using-the-command-line) or push an existing Git repository with the following command:
git clone --recurse-submodules https://git.suuppl.dev/seppl/optical-regeneration.git && cd optical-regeneration
git lfs fetch
git lfs checkout
``` ```
cd existing_repo
git remote add origin https://gitlab.lrz.de/000000003B9B3E61/optical-regeneration.git
git branch -M main
git push -uf origin main
```
## Integrate with your tools
- [ ] [Set up project integrations](https://gitlab.lrz.de/000000003B9B3E61/optical-regeneration/-/settings/integrations)
## Collaborate with your team
- [ ] [Invite team members and collaborators](https://docs.gitlab.com/ee/user/project/members/)
- [ ] [Create a new merge request](https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html)
- [ ] [Automatically close issues from merge requests](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#closing-issues-automatically)
- [ ] [Enable merge request approvals](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/)
- [ ] [Set auto-merge](https://docs.gitlab.com/ee/user/project/merge_requests/merge_when_pipeline_succeeds.html)
## Test and Deploy
Use the built-in continuous integration in GitLab.
- [ ] [Get started with GitLab CI/CD](https://docs.gitlab.com/ee/ci/quick_start/index.html)
- [ ] [Analyze your code for known vulnerabilities with Static Application Security Testing (SAST)](https://docs.gitlab.com/ee/user/application_security/sast/)
- [ ] [Deploy to Kubernetes, Amazon EC2, or Amazon ECS using Auto Deploy](https://docs.gitlab.com/ee/topics/autodevops/requirements.html)
- [ ] [Use pull-based deployments for improved Kubernetes management](https://docs.gitlab.com/ee/user/clusters/agent/)
- [ ] [Set up protected environments](https://docs.gitlab.com/ee/ci/environments/protected_environments.html)
***
# Editing this README
When you're ready to make this README your own, just edit this file and use the handy template below (or feel free to structure it however you want - this is just a starting point!). Thanks to [makeareadme.com](https://www.makeareadme.com/) for this template.
## Suggestions for a good README
Every project is different, so consider which of these sections apply to yours. The sections used in the template are suggestions for most open source projects. Also keep in mind that while a README can be too long and detailed, too long is better than too short. If you think your README is too long, consider utilizing another form of documentation rather than cutting out information.
## Name
Choose a self-explaining name for your project.
## Description
Let people know what your project can do specifically. Provide context and add a link to any reference visitors might be unfamiliar with. A list of Features or a Background subsection can also be added here. If there are alternatives to your project, this is a good place to list differentiating factors.
## Badges
On some READMEs, you may see small images that convey metadata, such as whether or not all the tests are passing for the project. You can use Shields to add some to your README. Many services also have instructions for adding a badge.
## Visuals
Depending on what you are making, it can be a good idea to include screenshots or even a video (you'll frequently see GIFs rather than actual videos). Tools like ttygif can help, but check out Asciinema for a more sophisticated method.
## Installation
Within a particular ecosystem, there may be a common way of installing things, such as using Yarn, NuGet, or Homebrew. However, consider the possibility that whoever is reading your README is a novice and would like more guidance. Listing specific steps helps remove ambiguity and gets people to using your project as quickly as possible. If it only runs in a specific context like a particular programming language version or operating system or has dependencies that have to be installed manually, also add a Requirements subsection.
## Usage
Use examples liberally, and show the expected output if you can. It's helpful to have inline the smallest example of usage that you can demonstrate, while providing links to more sophisticated examples if they are too long to reasonably include in the README.
## Support
Tell people where they can go to for help. It can be any combination of an issue tracker, a chat room, an email address, etc.
## Roadmap
If you have ideas for releases in the future, it is a good idea to list them in the README.
## Contributing
State if you are open to contributions and what your requirements are for accepting them.
For people who want to make changes to your project, it's helpful to have some documentation on how to get started. Perhaps there is a script that they should run or some environment variables that they need to set. Make these steps explicit. These instructions could also be useful to your future self.
You can also document commands to lint the code or run tests. These steps help to ensure high code quality and reduce the likelihood that the changes inadvertently break something. Having instructions for running tests is especially helpful if it requires external setup, such as starting a Selenium server for testing in a browser.
## Authors and acknowledgment
Show your appreciation to those who have contributed to the project.
## License ## License
For open source projects, say how it is licensed.
## Project status This project is licensed under EUPL-1.2.
If you have run out of energy or time for your project, put a note at the top of the README saying that development has slowed down or stopped completely. Someone may choose to fork your project or volunteer to step in as a maintainer or owner, allowing your project to keep going. You can also make an explicit request for maintainers.

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fc7d0ef00516cff602c32e0ab75495b6ae411031f2f28c4ad2c244e67e6537d6
size 581

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c8c80b2a69f85a2e580b9e31587f5e771fc61eba412fbd6331eb4ff169aa067d
size 586

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0ab9fa63591d315d07b2d3283fe99c2227eebf3a99c3d4153c698edb19362b31
size 586

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2d1b15c29b2b2617282c9414cecacd193e822294098d752b5875813ff2216994
size 586

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3cf7e646b1ceae4589633ae560c118badaa63ebe1ae48fb61d99e5b7732ece8d
size 586

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1380c66db92a31a5f1c3825b53626312ff7db57bd68e83fa9b3b44f956d424bd
size 586

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e57867c06586866b939069bbd49f37e8eed7a41917c13c5e961796d12041ee12
size 586

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f9999879a0be74a184a8b420047f46e10cb03b76bfc994510731dd77a1353e58
size 586

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9f5dd2f7a68cb4b8c3afb9f579f62aee7c1de584028205c046601659e7ad73a8
size 586

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:15fbf8e552e930c403f670cfb981415eec409cbba60b9c3077a13836fb87438c
size 586

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7837fdd9ec820dfcdaebb5eb7dbef87c66c97d2d267e291e1f71bed2a47d8ea0
size 587

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3b9a5d7e6a5bc22e2659bf347cb6a0f951640c1a2b6fcd396e8e498adbdd8f0b
size 587

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d7ba4a12ccef8b8f3fa1ab437b817eb3419a138ff7efeaa0e9ce5b6c507bebbc
size 587

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2d64c748183b6aa9a3cffb4be969119bfd4c661b9e27636ba7429f87a9d5b673
size 587

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f882d3e9346be84ac504aea6d69a10978742faf9d9a0c2b94422b8382e21338d
size 587

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:02f1692d731a68e93fd56591f8ccb7e49101985911772a71ba67581c432a8eaa
size 587

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f1727e0b9589f5d300099e13fe06e82906c5dc6ad5ca53bf0ced47ab182037d5
size 587

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0fe45c2c80ec0f1406a23be666bdbaa05dd210c6c09fba01d41852509069898c
size 587

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3a65d716107b0b0b6187b80ed08624caf708a5b03dac94db635201924c110cc5
size 587

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f3a2f57682b421832ca4d9c8501b2c17626411611eac388bd2f4dfee955ac596
size 588

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:93c7481240537fb3747ac9182e634e535b3357e036b40f61c17de185b294b4f1
size 584

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de9f035ab7b303c7449ecbb470ca2d6a87c8de07737d98dc1655986de6b1e51c
size 584

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:42118eef0a4248b1c43aa54dd7f354cc3aea644fcb8c0333d253dc4694ffee13
size 584

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1446dd86547294bf5d4e6ad9f89e13e256ce3eef09e7f0eb5c9dd60e531e28b3
size 584

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3f57c0beb24857a2368e839d445369fcdc45bd166b0746cb443ed9cf85edc90a
size 584

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0584d49eac3f11a64cac04c650b08166f5b8cb65e77edaa27af3d076622fe460
size 584

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:76d0c4340c1d0e9a0b4180e3a1d661f401d531afe6ea370e4bb576c20c45a620
size 584

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:14b4dd3baa15684d37a37e3b4debb01fb9b29e495c6cd89f695b1b649d10c712
size 584

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:298b13be3263b8f926a754a3e319be15ee59ea380799e8b81e3275d830214e92
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7f8b5cc8588460f84dfde9e2986245c7760f8ee8593af6ff2970f9ae96a0094e
size 584

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6014d99d1a966cf8ffb4f235c9dbba6c9f9f64c3ea9690adf581fd982a35281c
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d68659cfe88c3aa3840dbedff180c17c5d4e38f03f3dc764d7cefc152d17f4e4
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d58acc67430083d01923cbcb78ec8aa1d4384f20b3031ad068cf3957eab01823
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2395075526d27364c1d8ccfff97730fab11742894811d0decf5eb7aab9dd2977
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3ab152a19ef3cdb67b4cd8c35ae620a0b0e1242b341e576149aedd02b32ad700
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d48afea2bce337f47b4460ae25a4cb124691fc4f5fb6f0ec6c07a5cb25f4f388
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:18763fc7ed0880d64859cecbe2982f8ae953248e8cfbe416f3ae18b0fd9a341b
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6eaaba0059fbe3db0a235230c53ec7a99b33c85bacdc4b16f9966c5c6e123676
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4abc96e54fd9848c6cd0bf33b36fefa907069b89c8cb113a3f485da0c4d3966c
size 586

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8f89b3bd7e5d91a6cded56e7e2787b934400b8607ab409600019e081ab6cd4cd
size 587

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2b609519de1d7cb11af4d01305317d48116d028afcf68324d43688fde28b1a89
size 587

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7c6badf3445f7826a2cea49d72f9dc31f96142783bb0d6e5e3c74a7e8f8e2c42
size 587

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d0832ef9b946448880f5d368ddd1f4a0f1cff182ed8fe000ab5df216772bf7e4
size 587

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:06eecb8417936522d9db90e60e83c4b2684c2955b40574e149994a9076fd97b6
size 587

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a2e657bf7b0de2c09c6b83383d814f1e72bb16fafe4b1e274c59e6a026ab6920
size 587

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:73a45868f0d2528bc85e234fbf311a19ae82ee4ed7005488e8cc218f8b2215ba
size 587

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c0981bc7caf42a422cdb75a193fec6242d3be1a481a76b4a718647057f2a9baf
size 587

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b5c2188d388c1155fd9bc8955c29dea8d620244d5a46a9f1259c9bb7a591af49
size 587

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ba3011f56e011f1dbf3430ef770016bc20ac02dd3b31b77fe70b4c165be105c6
size 588

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:375f8d4bd39f985170fb4989539b2c46e77d3d75cd8c763eddc94223b5b3d577
size 588

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4162582a4c0e85147cb9fb8321e08423efae41e6bfd9b85217a6d985745ca805
size 588

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e3fe9d57e16e2d767e493e5d3437b44eebd9ea7a502e36426539f71971b167bd
size 588

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b6ec9434089ca19f2cf843056bda25c3a34cdbc80d5e066c2b14e469789faf02
size 588

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:250a20c1e948602416ad7731a94a604480f9cae0475b391fdb3f7562fdd2ed2a
size 588

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:440f07e25a6c246af12bcc5bc2633037f2364ca03530ec12df01973d7b9fc99d
size 588

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c6414fcc6160d76fce0fabf1ba994773c9e5707d62c89589f468599f4ed386e9
size 588

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:af2706bfb476ad8fdb4831dabf8d8c2b2d6ff2401bf42bacfebfcbe19b980846
size 588

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:86794108a3a18ad2a8ea3123c4377b8725c609474656f9536775641fcad485a3
size 589

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c3a9779511c91a5ac7ff6d1a43e31fcc048d3155d9a1834a786f4fd4862a4739
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:26f7a1037f20960e183f8c93c81d4feae3fb1c1563b06cbcd7ccf7d172579b57
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7410b6d0758dc87141322f815502294595f16561b5c2597890f73da0b141ce37
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f0b9c32b98a2164caa43636723cdda2c2bc9720e627079d55300168252032958
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8552d709cffa883f4d76f9694c7aeb8d56feaffa82b276e9b8c3dfe2ee385b67
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3d7a97c0eccb66dde467806ff3ea1a9eb84b64922a35eccbba66fbc4bd0ad7f1
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:56a7da3bfeaee3271d67f2430a47c7309c1a3e96f61c33fb5880385fa6409b98
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2ab213f8ae7200cf845e252cc9c0d9689542b966fd40e3a067a893a56b2cec8c
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e2be0bd2d322e2e51c17d90ce4aae576ab9c85c1dd1806282113dc2d135c2a0d
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:76ca86c7377504261599683b758061893bd20c6a1005ff166bdac04f4c750925
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e5f8edd51b4c6c3972c36a5d50eceddfecb7fadd42f257ad31e3ee8534816d5a
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:077d87aef1fdfbbf8f10696ddbf1b71c8d36bda9eaa794b04a4f2958c20daa80
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:daa9a80f10856c1f5338d558bb3ecfd2a461b307eae6fc4ddb8489bb505d9ce7
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:949b3eede1328e314979a1e3644d2c71c6a87cb6eb0526c29e1f7e3a3f7c045d
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a03cc4d5834c3ca7b38cd2b39a9211d505b4890d5f0d2e9e9e339da5b990731d
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5a65ace7d36f319e544bcb373d995b0c3658fc7dbb1e69886b46f2cda3d172a0
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6eabc08033e8177ccf0250011cf88438d3cd6f65a74522e94ac8fbfb8ca4f965
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:24d31c43576d8a0ea97777ae61f8bc0dfbf937dd1ff4c7c3816cf57b656a4eb9
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:604ac5063c028bc09e4554805e49488adf1a724221127acc8a7f5bbc2119b74c
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7f01ad4a3e4c9e16b853bdb31d34a9cd46343e02a89060b5f53ba3477bf5a31b
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2b7922dfe92689f343e640727fbca3066a94536752e7f560edbd5d8a9b37af4d
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5fcea8909a1167bd11d0e52365124fc5ce680624b5ea892f5a6c22d1847eb3e4
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:37de87acc8634c1be859347442f2eed77f3dcec79052ee7ac6c8d3c0f397d9a6
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:32d7c8f071ff715adca1b79da5887a46f055b2a64484c0eea86536fb6d3db5ca
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:db315e9e9fd6514062fa9c2ed42c5625766b45da67bedeef673adf9d527d37b8
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0d1ada187ac3085b9580b90fd475b5a72bc3ec5a639c1dda947f82febc54f02a
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9939f1d0344bf063693602d5677249b121e2ad37a47c056054eb95e30c3216fb
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3feb61210c128bad1eb7122965f3caf5d35138a0db26e377320401dcb22ee46b
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0ec83071a7ef6131ece0de4e8cbce6e6eab5ab7d5ce6c0d69bf7998cf3998f63
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:60ba10eec5804ca6a0c56be13e76d6a6b2e36ccb5edb23f093b3440f87569373
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:25dc0c84d1c6f86ca2b354f644fad32960aa759684d44ed95dd196b649b4016c
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:67539012bfbbf8bc3dd43d484b1e47d253d890e1a341077396fe9420c2e7fbfa
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6d2d33b7c84c623251ecb508b39cca961f75e2d0d97e6301ea248e3599ebb13e
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b00ce8a0bcbf6c748ff722f528a639e2f121c510ecef2308e0556f4a8a879d2d
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b8b10245fe115b3a7914bf76e3e838b4c14e7c535af6d679837713bfdde26119
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8f95e4a9f93cdbc303930b8d95c028e61df1c4255dcefdf9fd6aad7ec170576b
size 585

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b475291578b89f6d574d59f964e6113b9af25b554ea5db401e6cd4b05f42af1d
size 585

Some files were not shown because too many files have changed in this diff Show More