Skip to content

Commit bdad2e3

Browse files
committed
initialize repository
1 parent a325b0a commit bdad2e3

28 files changed

+726
-4
lines changed

.gitattributes

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* text=auto

.github/CODEOWNERS

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# default owners
2+
* @albrja @hussain-jafari @mattkappel @ramittal @rmudambi @stevebachmeier

.github/pull_request_template.md

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
## Title: Summary, imperative, start upper case, don't end with a period
2+
<!-- Ideally, <=50 chars. 50 chars is here..: -->
3+
4+
### Description
5+
<!-- For use in commit message, wrap at 72 chars. 72 chars is here: -->
6+
- *Category*: <!-- one of bugfix, feature, refactor, POC, CI/infrastructure, documentation,
7+
revert, test, release, other/misc -->
8+
- *JIRA issue*: [MIC-XYZ](https://jira.ihme.washington.edu/browse/MIC-XYZ)
9+
10+
<!--
11+
Change description – why, what, anything unexplained by the above.
12+
Include guidance to reviewers if changes are complex.
13+
-->
14+
15+
### Testing
16+
<!--
17+
Details on how code was verified, any unit tests local for the
18+
repo, regression testing, etc. At a minimum, this should include an
19+
integration test for a framework change. Consider: plots, images,
20+
(small) csv file.
21+
-->
22+

.github/workflows/build.yml

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# -----------------------------------------------------------------------------
2+
# - invoked on push, pull_request, or manual trigger
3+
# - test under at least 3 versions of python
4+
# -----------------------------------------------------------------------------
5+
name: build
6+
on: [push, pull_request, workflow_dispatch]
7+
8+
jobs:
9+
build:
10+
runs-on: ubuntu-latest
11+
strategy:
12+
matrix:
13+
python-version: ["3.7", "3.8", "3.9", "3.10"]
14+
steps:
15+
- uses: actions/checkout@v3
16+
- name: Set up Python ${{ matrix.python-version }}
17+
uses: actions/setup-python@v4
18+
with:
19+
python-version: ${{ matrix.python-version }}
20+
- name: Print environment values
21+
run: |
22+
python --version
23+
cat $GITHUB_ENV
24+
- name: Update pip
25+
run: |
26+
python -m pip install --upgrade pip
27+
- name: Install dependencies
28+
run: |
29+
pip install .[dev]
30+
- name: Test
31+
run: |
32+
pytest ./tests
33+
# todo uncomment when we have docs
34+
# - name: Doc build
35+
# run: |
36+
# make html -C docs/ SPHINXOPTS="-W --keep-going -n"
37+
# - name: Doctest
38+
# run: |
39+
# make doctest -C docs/
40+
- name: Lint
41+
run: |
42+
pip install black==22.3.0 isort
43+
black . --check --diff
44+
isort . --check --verbose --only-modified --diff

.github/workflows/deploy.yml

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: deploy
2+
3+
on:
4+
release:
5+
types: [published]
6+
7+
jobs:
8+
deploy:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@v3
12+
- name: Set up Python
13+
uses: actions/setup-python@v4
14+
with:
15+
python-version: "3.10"
16+
- name: Install dependencies
17+
run: |
18+
python --version
19+
python -m pip install --upgrade pip
20+
pip install setuptools wheel twine
21+
- name: Build and publish
22+
env:
23+
TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
24+
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
25+
run: |
26+
python setup.py sdist bdist_wheel
27+
twine upload dist/*

.gitignore

+6-2
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ share/python-wheels/
2525
*.egg-info/
2626
.installed.cfg
2727
*.egg
28+
*.pyc
2829
MANIFEST
2930

3031
# PyInstaller
@@ -125,5 +126,8 @@ venv.bak/
125126
.dmypy.json
126127
dmypy.json
127128

128-
# Pyre type checker
129-
.pyre/
129+
# Pycharm project settings
130+
.idea/
131+
132+
# Local user jupyter notebooks directory
133+
notebooks/

CHANGELOG.rst

Whitespace-only changes.

CODE_OF_CONDUCT.rst

+81
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
Code of Conduct
2+
===============
3+
4+
Our Pledge
5+
----------
6+
7+
In the interest of fostering an open and welcoming environment, we as
8+
contributors and maintainers pledge to making participation in our project and
9+
our community a harassment-free experience for everyone, regardless of age, body
10+
size, disability, ethnicity, gender identity and expression, level of experience,
11+
nationality, personal appearance, race, religion, or sexual identity and
12+
orientation.
13+
14+
Our Standards
15+
-------------
16+
17+
Examples of behavior that contributes to creating a positive environment
18+
include:
19+
20+
- Using welcoming and inclusive language
21+
- Being respectful of differing viewpoints and experiences
22+
- Gracefully accepting constructive criticism
23+
- Focusing on what is best for the community
24+
- Showing empathy towards other community members
25+
26+
Examples of unacceptable behavior by participants include:
27+
28+
- The use of sexualized language or imagery and unwelcome sexual attention or
29+
advances
30+
- Trolling, insulting/derogatory comments, and personal or political attacks
31+
- Public or private harassment
32+
- Publishing others' private information, such as a physical or electronic
33+
address, without explicit permission
34+
- Other conduct which could reasonably be considered inappropriate in a
35+
professional setting
36+
37+
Our Responsibilities
38+
--------------------
39+
40+
Project maintainers are responsible for clarifying the standards of acceptable
41+
behavior and are expected to take appropriate and fair corrective action in
42+
response to any instances of unacceptable behavior.
43+
44+
Project maintainers have the right and responsibility to remove, edit, or
45+
reject comments, commits, code, wiki edits, issues, and other contributions
46+
that are not aligned to this Code of Conduct, or to ban temporarily or
47+
permanently any contributor for other behaviors that they deem inappropriate,
48+
threatening, offensive, or harmful.
49+
50+
Scope
51+
-----
52+
53+
This Code of Conduct applies both within project spaces and in public spaces
54+
when an individual is representing the project or its community. Examples of
55+
representing a project or community include using an official project e-mail
56+
address, posting via an official social media account, or acting as an appointed
57+
representative at an online or offline event. Representation of a project may be
58+
further defined and clarified by project maintainers.
59+
60+
Enforcement
61+
-----------
62+
63+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
64+
reported by contacting the current maintainer (found in this repositories AUTHORS.md). All
65+
complaints will be reviewed and investigated and will result in a response that
66+
is deemed necessary and appropriate to the circumstances. The project team is
67+
obligated to maintain confidentiality with regard to the reporter of an incident.
68+
Further details of specific enforcement policies may be posted separately.
69+
70+
Project maintainers who do not follow or enforce the Code of Conduct in good
71+
faith may face temporary or permanent repercussions as determined by other
72+
members of the project's leadership.
73+
74+
Attribution
75+
-----------
76+
77+
This Code of Conduct is adapted from the `Contributor Covenant`_, version 1.4,
78+
available at `version`_.
79+
80+
.. _Contributor Covenant: http://contributor-covenant.org
81+
.. _version: http://contributor-covenant.org/version/1/4/

CONTRIBUTING.rst

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
Contributing
2+
============
3+
4+
When contributing to this repository, please first discuss the change you wish to make via issue,
5+
email, or any other method with the owners of this repository before making a change.
6+
7+
Please note we have a code of conduct, please follow it in all your interactions with the project.
8+
9+
Submitting Changes
10+
------------------
11+
12+
- Always make a new branch for your work.
13+
- Patches should be small to facilitate easier review. Sometimes this will result in many small
14+
PRs to land a single large feature.
15+
- Larger changes should be discussed in the project's GitHub issues page.
16+
- New features and significant bug fixes should be documented in the changelog.
17+
- You must have legal permission to distribute any code you contribute to ``pseudo_people``, and it
18+
must be available under the BSD-3 license.
19+

MANIFEST.in

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
include AUTHORS.rst
2+
include CHANGELOG.rst
3+
include CODE_OF_CONDUCT.rst
4+
include CONTRIBUTING.rst
5+
include LICENSE.txt
6+
include README.rst
7+
8+
recursive-include docs *
9+
prune docs/_build
10+
11+
recursive-include src/pseudo_people *.py *.yaml
12+
recursive-include tests *.py *txt *.yaml

README.md

-2
This file was deleted.

README.rst

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
========
2+
Pseudo People
3+
========
4+
5+
Pseudo People is a package intended to add configurable noise to a simulated
6+
census-scale data-set written using standard scientific Python tools.
7+
8+
**Pseudo People requires Python 3.7-3.10 to run**
9+
10+
You can install ``pseudo_people`` from PyPI with pip:
11+
12+
``> pip install pseudo_people``
13+
14+
or build it from source with
15+
16+
``> git clone https://github.com/ihmeuw/pseudo_people.git``
17+
18+
``> cd pseudo_people``
19+
20+
``> python setup.py install``
21+
22+
This will make the ``pseudo_people`` library available to python and install a
23+
command-line executable called ``...`` that you can use to verify your
24+
installation with
25+
26+
``> ... test``

docs/Makefile

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Minimal makefile for Sphinx documentation
2+
3+
# You can set these variables from the command line.
4+
SPHINXOPTS =
5+
SPHINXBUILD = sphinx-build
6+
SPHINXPROJ = pseudo_people
7+
SOURCEDIR = source
8+
BUILDDIR = build
9+
10+
# Put it first so that "make" without argument is like "make help".
11+
help:
12+
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
13+
14+
.PHONY: help Makefile
15+
16+
# Catch-all target: route all unknown targets to Sphinx using the new
17+
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
18+
%: Makefile
19+
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
20+
21+
clean:
22+
rm -rf build/*

docs/nitpick-exceptions

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# pandas
2+
py:class pandas.core.indexes.base.Index
3+
py:class pandas.core.indexes.multi.MultiIndex
4+
py:class pandas._libs.tslibs.timestamps.Timestamp
5+
py:class pandas._libs.tslibs.timedeltas.Timedelta
6+
py:class pandas.core.frame.DataFrame
7+
py:class pandas.core.series.Series
8+
py:class pandas.core.generic.PandasObject

docs/source/_static/style.css

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
.wy-nav-content {
2+
max-width: 1000px !important;
3+
}

docs/source/_templates/layout.html

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{% extends "!layout.html" %}
2+
{% block extrahead %}
3+
<link href="{{ pathto("_static/style.css", True) }}" rel="stylesheet" type="text/css">
4+
{% endblock %}

docs/source/api_reference/index.rst

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
API Reference
2+
=============
3+
4+
.. automodule:: pseudo_people
5+
6+
.. toctree::
7+
:maxdepth: 2
8+
:glob:
9+
10+
*
11+
*/index

0 commit comments

Comments
 (0)