Coverage for tsfpga/about.py: 0%
17 statements
« prev ^ index » next coverage.py v6.4, created at 2022-05-28 04:01 +0000
« prev ^ index » next coverage.py v6.4, created at 2022-05-28 04:01 +0000
1# --------------------------------------------------------------------------------------------------
2# Copyright (c) Lukas Vik. All rights reserved.
3#
4# This file is part of the tsfpga project.
5# https://tsfpga.com
6# https://gitlab.com/tsfpga/tsfpga
7# --------------------------------------------------------------------------------------------------
10def get_slogan():
11 result = """\
12tsfpga is a development platform that aims to streamline the code structure and user experience in
13your FPGA project."""
14 return result
17def get_short_doc():
18 return f"""{get_slogan()}
19With its python build/simulation flow it is perfect for CI/CD and test-driven development.
20Focus has been placed on flexibility and modularization, achieving scalability even in very large
21multi-vendor code bases.
22"""
25def get_doc():
26 """
27 Prepend get_short_doc() to this to get the complete doc.
28 """
29 return """Key features
30------------
32* Source code centric project structure: Build projects, test configurations, constraints, IP cores,
33 etc. are handled close to the source code.
34* Automatically adds build/simulation sources if a recognized folder structure is used.
35* Enables local VUnit configuration setup without multiple ``run.py``.
36* Handling of IP cores and simlib for your simulation project, with automatic re-compile
37 when necessary.
38* Python-based parallel Vivado build system.
39* Tightly integrated with `hdl_registers <https://hdl-registers.com>`__.
40 Register code generation will be performed before each simulation and each build.
41* Released under the very permissive BSD 3-Clause License.
43The maintainers place high focus on quality, with everything having good unit test coverage and a
44thought-out structure.
45The project is mature and used in many production environments.
46"""
49def get_readme_rst(
50 include_extra_for_gitlab=False,
51 include_extra_for_website=False,
52 include_extra_for_pypi=False,
53):
54 """
55 Get the complete README.rst for tsfpga (to be used on website and in PyPI release).
57 The arguments control some extra text that is included. This is mainly links to the
58 other places where you can find information on the project (website, gitlab, PyPI).
60 Arguments:
61 include_extra_for_gitlab (bool): Include the extra text that shall be included in the
62 gitlab README.
63 include_extra_for_website (bool): Include the extra text that shall be included in the
64 website main page.
65 include_extra_for_pypi (bool): Include the extra text that shall be included in the
66 PyPI release README.
67 """
68 if include_extra_for_gitlab:
69 extra_rst = """\
70**See documentation on the website**: https://tsfpga.com
72**See PyPI for installation details**: https://pypi.org/project/tsfpga/
73"""
74 elif include_extra_for_website:
75 extra_rst = """\
76This website contains readable documentation for the project.
77To check out the source code go to the `gitlab page <https://gitlab.com/tsfpga/tsfpga>`__.
78To install see the `PyPI page <https://pypi.org/project/tsfpga/>`__.
79"""
80 elif include_extra_for_pypi:
81 extra_rst = """\
82**See documentation on the website**: https://tsfpga.com
84**Check out the source code on gitlab**: https://gitlab.com/tsfpga/tsfpga
85"""
86 else:
87 extra_rst = ""
89 readme_rst = f"""\
90About tsfpga
91============
93|pic_website| |pic_gitlab| |pic_gitter| |pic_pip_install| |pic_license| |pic_python_line_coverage|
95.. |pic_website| image:: https://tsfpga.com/badges/website.svg
96 :alt: Website
97 :target: https://tsfpga.com
99.. |pic_gitlab| image:: https://tsfpga.com/badges/gitlab.svg
100 :alt: Gitlab
101 :target: https://gitlab.com/tsfpga/tsfpga
103.. |pic_gitter| image:: https://badges.gitter.im/owner/repo.png
104 :alt: Gitter
105 :target: https://gitter.im/tsfpga/tsfpga
107.. |pic_pip_install| image:: https://tsfpga.com/badges/pip_install.svg
108 :alt: pypi
109 :target: https://pypi.org/project/tsfpga/
111.. |pic_license| image:: https://tsfpga.com/badges/license.svg
112 :alt: License
113 :target: https://tsfpga.com/license_information.html
115.. |pic_python_line_coverage| image:: https://tsfpga.com/badges/python_coverage.svg
116 :alt: Python line coverage
117 :target: https://tsfpga.com/python_coverage_html
119{get_short_doc()}
120{extra_rst}
121{get_doc()}"""
123 return readme_rst