Skip to content

Commit

Permalink
deploy: b25b8af
Browse files Browse the repository at this point in the history
  • Loading branch information
austinwarner-8451 committed May 13, 2024
0 parents commit dd157e7
Show file tree
Hide file tree
Showing 61 changed files with 7,624 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .buildinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 36d3f78dd3ce0c90dcdc2fdb2bf4bd79
tags: 645f666f9bcd5a90fca523b33c5a78b7
Binary file added .doctrees/api.doctree
Binary file not shown.
Binary file added .doctrees/changelog.doctree
Binary file not shown.
Binary file added .doctrees/contributing.doctree
Binary file not shown.
Binary file added .doctrees/environment.pickle
Binary file not shown.
Binary file added .doctrees/index.doctree
Binary file not shown.
Binary file added .doctrees/installation.doctree
Binary file not shown.
Binary file added .doctrees/usage.doctree
Binary file not shown.
Empty file added .nojekyll
Empty file.
26 changes: 26 additions & 0 deletions _sources/api.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
Confectioner API
================

Core API
--------
.. automodule:: confectioner.core
:members:
:special-members:
:inherited-members:
:show-inheritance:

.. autoclass:: confectioner.baker.Baker
:special-members:

File Utilities
--------------
.. automodule:: confectioner.files
:members:
:special-members:
:inherited-members:
:show-inheritance:

Templating Utilities
--------------------
.. automodule:: confectioner.templating
:members:
4 changes: 4 additions & 0 deletions _sources/changelog.md.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Changelog

## Version 1.1.0
- Release as open source
70 changes: 70 additions & 0 deletions _sources/contributing.md.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# Contributing

If you would like to add new functionality or fix a bug, we welcome contributions. All change requests should start with
an [issue on the repo](https://github.com/8451/confectioner/issues/new/choose). If you would like to develop the
solution yourself, us the following flow:

1. Read the [style guide](#style-guide) below
2. Tag Austin Warner (austinwarner-8451) in the issue and request to be assigned the issue
- If this is your first time contributing, ask to be granted write access to the repo
3. Create a new branch based off of [develop](https://github.com/8451/confectioner/tree/develop)
- Give your branch a name starting with `feature/`, `bug/` or `misc/`
- For example, if you were requesting that toml files be supported by default, create
a branch called `feature/toml`
4. Clone the repo in your favorite IDE, check out your new branch, and add your changes
5. Run the tests to ensure nothing breaks
- `pip install -e .[test]`
- `pytest`
6. Push the changes on your branch to the repo, and open a Pull Request where the base branch is `develop`
- Request a review from Austin Warner

## Style Guide

### Pre-Commit
The repo has [pre-commit](https://pre-commit.com/) configured to enforce much (but not all) of the style guide
automatically. When developing locally, please perform the one-time setup using `pip install pre-commit` followed by
`pre-commit install` before making any commits.

### PEP 8
We try to follow [PEP 8](https://peps.python.org/pep-0008/) wherever possible. Feel free to familiarize yourself
with it, but most IDEs will automatically help you. Alternatively, you can use a code formatter like
[black](https://pypi.org/project/black/) to format your code for you.

### Imports
Imports should take place at the top of the file and be broken into 4 sections, each section with a single empty line between
them. The sections are:
1. Standard library imports (i.e. typing, regex, math)
2. 3rd-party library imports (i.e. numpy, pandas)
3. Relative imports (importing other modules from the confectioner package)

For sections 1-3, prefer using the fully-qualified namespace over an unqualified import (`import json` over
`from json import load`). An exception to this rule is imports from the typing library (`from typing import List`).

When importing another module from `confectioner`, write it like `from . import core`.

Under no circumstances should `from module import *` be used.

### Typing
All function definitions should be fully type-hinted (arguments and return value). Where applicable, use
generic types from the `typing` library like `List[str]` vs `list`. If a function does not return anything, mark the
return type as `None`.

### Naming
Prefer long, descriptive function names over short abbreviated names. For example, `load_config` is preferred over
`ld_cfg`.

Function and variable names should be lowercase with underscores separating words (`my_function`). Class names should be
camel case (`MyClass`). Constants should be all uppercase with underscores separating words (`MY_CONSTANT`).

Any function, variable, or constant that is not intended to be used outside of the module it is defined in should be
prefixed with an underscore (`_my_private_function`).

### Documentation
All public-facing functions should be documented using docstrings in the
[Numpy Style](https://numpydoc.readthedocs.io/en/latest/format.html#docstring-standard).

### Functional Programming
We strongly prefer Functional Programming over Object-Oriented programming. OOP is used specifically to store
configuration data in an object for later use. Regardless of paradigm, there is a preference for stateless programming
and avoiding in-place data mutation where possible. For example, when combining two lists, prefer `list_a + list_b`
over `list_a.extend(list_b)`.
30 changes: 30 additions & 0 deletions _sources/index.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
.. confect documentation master file, created by
sphinx-quickstart on Wed Mar 2 11:50:23 2022.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Confectioner
------------

Confectioner is a modular configuration framework for Python applications. Get started with the
:doc:`Installation Instructions <installation>`.


.. toctree::
:hidden:
:maxdepth: 1
:caption: References

Installation <../../installation>
Usage <usage>
API <api>
Changelog <changelog>
Contributing <contributing>


Indices and tables
==================

* :ref:`genindex`
* :ref:`search`
7 changes: 7 additions & 0 deletions _sources/installation.md.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Installation

Confectioner is for install via pip.

```bash
pip install confectioner
````
Loading

0 comments on commit dd157e7

Please sign in to comment.