Skip to content

Commit 2e60ea7

Browse files
authored
Merge pull request #118 from NASA-PDS/template-rollout-autumn-2021
Template rollout autumn 2021
2 parents 4cfb9db + 0f43d40 commit 2e60ea7

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+2113
-3918
lines changed

.github/CODEOWNERS

Lines changed: 37 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,46 @@
1-
# This is a comment.
1+
# 📀 Code Owners
2+
#
3+
# Copyright © 2021, California Institute of Technology ("Caltech").
4+
# U.S. Government sponsorship acknowledged.
5+
#
6+
# All rights reserved.
7+
#
8+
# Redistribution and use in source and binary forms, with or without
9+
# modification, are permitted provided that the following conditions are met:
10+
#
11+
# • Redistributions of source code must retain the above copyright notice,
12+
# this list of conditions and the following disclaimer.
13+
# • Redistributions must reproduce the above copyright notice, this list of
14+
# conditions and the following disclaimer in the documentation and/or other
15+
# materials provided with the distribution.
16+
# • Neither the name of Caltech nor its operating division, the Jet Propulsion
17+
# Laboratory, nor the names of its contributors may be used to endorse or
18+
# promote products derived from this software without specific prior written
19+
# permission.
20+
#
21+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22+
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23+
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24+
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
25+
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26+
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27+
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28+
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29+
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30+
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31+
# POSSIBILITY OF SUCH DAMAGE.
32+
#
33+
#
234
# Each line is a file pattern followed by one or more owners.
3-
35+
#
436
# These owners will be the default owners for everything in
537
# the repo. Unless a later match takes precedence,
638
# @global-owner1 and @global-owner2 will be requested for
739
# review when someone opens a pull request.
8-
9-
# ***************************************************************
1040
#
11-
# Go to https://github.com/orgs/pds-data-dictionaries/teams to
12-
# find out more information about your applicable team
13-
14-
* @NASA-PDS/pdsen-python-committers
41+
# Go to https://github.com/orgs/NASA-PDS/teams to find out about our teams
1542

16-
# **************************************************************
43+
* @NASA-PDS/pdsen-python-committers
1744

18-
# For more information on populating this file, go to
45+
# For more information on populating this file, check out
1946
# https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners

.github/workflows/stable-cicd.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,3 +72,7 @@ jobs:
7272
pypi_username: ${{secrets.PYPI_USERNAME}}
7373
pypi_password: ${{secrets.PYPI_PASSWORD}}
7474
ADMIN_GITHUB_TOKEN: ${{secrets.ADMIN_GITHUB_TOKEN}}
75+
76+
...
77+
78+
# -*- mode: yaml; indent: 4; fill-column: 120; coding: utf-8 -*-

.gitignore

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,35 @@
1+
# Copyright © 2021, California Institute of Technology ("Caltech").
2+
# U.S. Government sponsorship acknowledged.
3+
#
4+
# All rights reserved.
5+
#
6+
# Redistribution and use in source and binary forms, with or without
7+
# modification, are permitted provided that the following conditions are met:
8+
#
9+
# • Redistributions of source code must retain the above copyright notice,
10+
# this list of conditions and the following disclaimer.
11+
# • Redistributions must reproduce the above copyright notice, this list of
12+
# conditions and the following disclaimer in the documentation and/or other
13+
# materials provided with the distribution.
14+
# • Neither the name of Caltech nor its operating division, the Jet Propulsion
15+
# Laboratory, nor the names of its contributors may be used to endorse or
16+
# promote products derived from this software without specific prior written
17+
# permission.
18+
#
19+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20+
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21+
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22+
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
23+
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24+
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25+
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26+
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27+
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28+
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29+
# POSSIBILITY OF SUCH DAMAGE.
30+
#
31+
# Items for Git to ignore
32+
133
# Python build, virtual environments, and buildouts
234
venv
335
__pycache__/
@@ -9,10 +41,12 @@ develop-eggs/
941
.python-eggs/
1042
.eggs/
1143
pip-selfcheck.json
44+
.python-version
1245

1346
# Python testing artifacts
1447
.coverage
1548
htmlcov
49+
.tox/
1650

1751
# Object files
1852
*.o
@@ -34,7 +68,6 @@ htmlcov
3468
.vscode
3569
*.sublime-*
3670

37-
3871
# Shared objects (inc. Windows DLLs)
3972
*.dll
4073
*.so
@@ -58,6 +91,7 @@ var/
5891
*.xpr
5992
bin/
6093
.*.swp
94+
typescript
6195

6296
# OS-specific artifacts
6397
.DS_Store

.pre-commit-config.yaml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
repos:
2+
- repo: https://github.com/pre-commit/pre-commit-hooks
3+
rev: v4.0.1
4+
hooks:
5+
- id: trailing-whitespace
6+
- id: end-of-file-fixer
7+
- id: check-executables-have-shebangs
8+
- id: check-merge-conflict
9+
- id: debug-statements
10+
- id: check-yaml
11+
files: .*\.(yaml|yml)$
12+
13+
- repo: https://github.com/asottile/reorder_python_imports
14+
rev: v2.6.0
15+
hooks:
16+
- id: reorder-python-imports
17+
files: ^src/|tests/
18+
19+
- repo: local
20+
hooks:
21+
- id: mypy
22+
name: mypy
23+
entry: mypy src
24+
language: system
25+
pass_filenames: false
26+
27+
# Black: thanks, I hate it.
28+
# - repo: local
29+
# hooks:
30+
# - id: black
31+
# name: black
32+
# entry: black
33+
# files: ^src/|tests/
34+
# language: system
35+
36+
- repo: local
37+
hooks:
38+
- id: flake8
39+
name: flake8
40+
entry: flake8 src
41+
language: system
42+
pass_filenames: false
43+
44+
- repo: local
45+
hooks:
46+
- id: tests
47+
name: Tests
48+
entry: pytest
49+
language: system
50+
stages: [push]
51+
pass_filenames: false

LICENSE.md

Lines changed: 194 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,194 @@
1+
Apache License
2+
==============
3+
4+
_Version 2.0, January 2004_
5+
_&lt;<http://www.apache.org/licenses/>&gt;_
6+
7+
### Terms and Conditions for use, reproduction, and distribution
8+
9+
#### 1. Definitions
10+
11+
“License” shall mean the terms and conditions for use, reproduction, and
12+
distribution as defined by Sections 1 through 9 of this document.
13+
14+
“Licensor” shall mean the copyright owner or entity authorized by the copyright
15+
owner that is granting the License.
16+
17+
“Legal Entity” shall mean the union of the acting entity and all other entities
18+
that control, are controlled by, or are under common control with that entity.
19+
For the purposes of this definition, “control” means **(i)** the power, direct or
20+
indirect, to cause the direction or management of such entity, whether by
21+
contract or otherwise, or **(ii)** ownership of fifty percent (50%) or more of the
22+
outstanding shares, or **(iii)** beneficial ownership of such entity.
23+
24+
“You” (or “Your”) shall mean an individual or Legal Entity exercising
25+
permissions granted by this License.
26+
27+
“Source” form shall mean the preferred form for making modifications, including
28+
but not limited to software source code, documentation source, and configuration
29+
files.
30+
31+
“Object” form shall mean any form resulting from mechanical transformation or
32+
translation of a Source form, including but not limited to compiled object code,
33+
generated documentation, and conversions to other media types.
34+
35+
“Work” shall mean the work of authorship, whether in Source or Object form, made
36+
available under the License, as indicated by a copyright notice that is included
37+
in or attached to the work (an example is provided in the Appendix below).
38+
39+
“Derivative Works” shall mean any work, whether in Source or Object form, that
40+
is based on (or derived from) the Work and for which the editorial revisions,
41+
annotations, elaborations, or other modifications represent, as a whole, an
42+
original work of authorship. For the purposes of this License, Derivative Works
43+
shall not include works that remain separable from, or merely link (or bind by
44+
name) to the interfaces of, the Work and Derivative Works thereof.
45+
46+
“Contribution” shall mean any work of authorship, including the original version
47+
of the Work and any modifications or additions to that Work or Derivative Works
48+
thereof, that is intentionally submitted to Licensor for inclusion in the Work
49+
by the copyright owner or by an individual or Legal Entity authorized to submit
50+
on behalf of the copyright owner. For the purposes of this definition,
51+
“submitted” means any form of electronic, verbal, or written communication sent
52+
to the Licensor or its representatives, including but not limited to
53+
communication on electronic mailing lists, source code control systems, and
54+
issue tracking systems that are managed by, or on behalf of, the Licensor for
55+
the purpose of discussing and improving the Work, but excluding communication
56+
that is conspicuously marked or otherwise designated in writing by the copyright
57+
owner as “Not a Contribution.”
58+
59+
“Contributor” shall mean Licensor and any individual or Legal Entity on behalf
60+
of whom a Contribution has been received by Licensor and subsequently
61+
incorporated within the Work.
62+
63+
#### 2. Grant of Copyright License
64+
65+
Subject to the terms and conditions of this License, each Contributor hereby
66+
grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
67+
irrevocable copyright license to reproduce, prepare Derivative Works of,
68+
publicly display, publicly perform, sublicense, and distribute the Work and such
69+
Derivative Works in Source or Object form.
70+
71+
#### 3. Grant of Patent License
72+
73+
Subject to the terms and conditions of this License, each Contributor hereby
74+
grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
75+
irrevocable (except as stated in this section) patent license to make, have
76+
made, use, offer to sell, sell, import, and otherwise transfer the Work, where
77+
such license applies only to those patent claims licensable by such Contributor
78+
that are necessarily infringed by their Contribution(s) alone or by combination
79+
of their Contribution(s) with the Work to which such Contribution(s) was
80+
submitted. If You institute patent litigation against any entity (including a
81+
cross-claim or counterclaim in a lawsuit) alleging that the Work or a
82+
Contribution incorporated within the Work constitutes direct or contributory
83+
patent infringement, then any patent licenses granted to You under this License
84+
for that Work shall terminate as of the date such litigation is filed.
85+
86+
#### 4. Redistribution
87+
88+
You may reproduce and distribute copies of the Work or Derivative Works thereof
89+
in any medium, with or without modifications, and in Source or Object form,
90+
provided that You meet the following conditions:
91+
92+
* **(a)** You must give any other recipients of the Work or Derivative Works a copy of
93+
this License; and
94+
* **(b)** You must cause any modified files to carry prominent notices stating that You
95+
changed the files; and
96+
* **(c)** You must retain, in the Source form of any Derivative Works that You distribute,
97+
all copyright, patent, trademark, and attribution notices from the Source form
98+
of the Work, excluding those notices that do not pertain to any part of the
99+
Derivative Works; and
100+
* **(d)** If the Work includes a “NOTICE” text file as part of its distribution, then any
101+
Derivative Works that You distribute must include a readable copy of the
102+
attribution notices contained within such NOTICE file, excluding those notices
103+
that do not pertain to any part of the Derivative Works, in at least one of the
104+
following places: within a NOTICE text file distributed as part of the
105+
Derivative Works; within the Source form or documentation, if provided along
106+
with the Derivative Works; or, within a display generated by the Derivative
107+
Works, if and wherever such third-party notices normally appear. The contents of
108+
the NOTICE file are for informational purposes only and do not modify the
109+
License. You may add Your own attribution notices within Derivative Works that
110+
You distribute, alongside or as an addendum to the NOTICE text from the Work,
111+
provided that such additional attribution notices cannot be construed as
112+
modifying the License.
113+
114+
You may add Your own copyright statement to Your modifications and may provide
115+
additional or different license terms and conditions for use, reproduction, or
116+
distribution of Your modifications, or for any such Derivative Works as a whole,
117+
provided Your use, reproduction, and distribution of the Work otherwise complies
118+
with the conditions stated in this License.
119+
120+
#### 5. Submission of Contributions
121+
122+
Unless You explicitly state otherwise, any Contribution intentionally submitted
123+
for inclusion in the Work by You to the Licensor shall be under the terms and
124+
conditions of this License, without any additional terms or conditions.
125+
Notwithstanding the above, nothing herein shall supersede or modify the terms of
126+
any separate license agreement you may have executed with Licensor regarding
127+
such Contributions.
128+
129+
#### 6. Trademarks
130+
131+
This License does not grant permission to use the trade names, trademarks,
132+
service marks, or product names of the Licensor, except as required for
133+
reasonable and customary use in describing the origin of the Work and
134+
reproducing the content of the NOTICE file.
135+
136+
#### 7. Disclaimer of Warranty
137+
138+
Unless required by applicable law or agreed to in writing, Licensor provides the
139+
Work (and each Contributor provides its Contributions) on an “AS IS” BASIS,
140+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied,
141+
including, without limitation, any warranties or conditions of TITLE,
142+
NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are
143+
solely responsible for determining the appropriateness of using or
144+
redistributing the Work and assume any risks associated with Your exercise of
145+
permissions under this License.
146+
147+
#### 8. Limitation of Liability
148+
149+
In no event and under no legal theory, whether in tort (including negligence),
150+
contract, or otherwise, unless required by applicable law (such as deliberate
151+
and grossly negligent acts) or agreed to in writing, shall any Contributor be
152+
liable to You for damages, including any direct, indirect, special, incidental,
153+
or consequential damages of any character arising as a result of this License or
154+
out of the use or inability to use the Work (including but not limited to
155+
damages for loss of goodwill, work stoppage, computer failure or malfunction, or
156+
any and all other commercial damages or losses), even if such Contributor has
157+
been advised of the possibility of such damages.
158+
159+
#### 9. Accepting Warranty or Additional Liability
160+
161+
While redistributing the Work or Derivative Works thereof, You may choose to
162+
offer, and charge a fee for, acceptance of support, warranty, indemnity, or
163+
other liability obligations and/or rights consistent with this License. However,
164+
in accepting such obligations, You may act only on Your own behalf and on Your
165+
sole responsibility, not on behalf of any other Contributor, and only if You
166+
agree to indemnify, defend, and hold each Contributor harmless for any liability
167+
incurred by, or claims asserted against, such Contributor by reason of your
168+
accepting any such warranty or additional liability.
169+
170+
_END OF TERMS AND CONDITIONS_
171+
172+
### APPENDIX: How to apply the Apache License to your work
173+
174+
To apply the Apache License to your work, attach the following boilerplate
175+
notice, with the fields enclosed by brackets `[]` replaced with your own
176+
identifying information. (Don't include the brackets!) The text should be
177+
enclosed in the appropriate comment syntax for the file format. We also
178+
recommend that a file or class name and description of purpose be included on
179+
the same “printed page” as the copyright notice for easier identification within
180+
third-party archives.
181+
182+
Copyright [yyyy] [name of copyright owner]
183+
184+
Licensed under the Apache License, Version 2.0 (the "License");
185+
you may not use this file except in compliance with the License.
186+
You may obtain a copy of the License at
187+
188+
http://www.apache.org/licenses/LICENSE-2.0
189+
190+
Unless required by applicable law or agreed to in writing, software
191+
distributed under the License is distributed on an "AS IS" BASIS,
192+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
193+
See the License for the specific language governing permissions and
194+
limitations under the License.

0 commit comments

Comments
 (0)