Metadata-Version: 2.1
Name: aics_bead_alignment_core
Version: 0.0.0
Summary: A uitlity package containing functions to align bead images 
Home-page: https://github.com/BrianWhitneyAI/aics_bead_alignment_core
Author: AICS Software
Author-email: brian.whitney@alleninstitute.org
License: Allen Institute Software License
Keywords: aics_bead_alignment_core
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: Free for non-commercial use
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Provides-Extra: setup
Provides-Extra: test
Provides-Extra: dev
Provides-Extra: all
License-File: LICENSE

# aics_bead_alignment_core

[![Build Status](https://github.com/BrianWhitneyAI/aics_bead_alignment_core/workflows/Build%20Main/badge.svg)](https://github.com/BrianWhitneyAI/aics_bead_alignment_core/actions)
[![Documentation](https://github.com/BrianWhitneyAI/aics_bead_alignment_core/workflows/Documentation/badge.svg)](https://BrianWhitneyAI.github.io/aics_bead_alignment_core/)
[![Code Coverage](https://codecov.io/gh/BrianWhitneyAI/aics_bead_alignment_core/branch/main/graph/badge.svg)](https://codecov.io/gh/BrianWhitneyAI/aics_bead_alignment_core)

A uitlity package containing functions to align bead images 

---
## Features

-   Store values and retain the prior value in memory
-   ... some other functionality

## Installation

**Stable Release:** `pip install aics_bead_alignment_core`<br>
**Development Head:** `pip install git+https://github.com/BrianWhitneyAI/aics_bead_alignment_core.git`

## Documentation

For full package documentation please visit [BrianWhitneyAI.github.io/aics_bead_alignment_core](https://BrianWhitneyAI.github.io/aics_bead_alignment_core).

## Development

See [CONTRIBUTING.md](CONTRIBUTING.md) for information related to developing the code.

## The Commands You Need To Know

1. `make install`

    This will setup a virtual environment local to this project and install all of the
    project's dependencies into it. The virtual env will be located in `aics_bead_alignment_core/venv`.

2. `make test`, `make fmt`, `make lint`, `make type-check`, `make import-sort`

    Quality assurance

3. `pip install -e .[dev]`

    This will install your package in editable mode with all the required development
    dependencies.

4. `make docs`

    This will generate documentation using sphinx. 

5. `make publish` and `make publish-snapshot`

    Running this command will start the process of publishing to PyPI

6. `make bumpversion' - [release, major, minor, patch, dev]
    
    update verisoning with new releases 

7. `make clean`

    This will clean up various Python and build generated files so that you can ensure
    that you are working in a clean workspace.



#### Suggested Git Branch Strategy

1. `main` is for the most up-to-date development, very rarely should you directly
   commit to this branch. GitHub Actions will run on every push and on a CRON to this
   branch but still recommended to commit to your development branches and make pull
   requests to main. If you push a tagged commit with bumpversion, this will also release to PyPI.
2. Your day-to-day work should exist on branches separate from `main`. Even if it is
   just yourself working on the repository, make a PR from your working branch to `main`
   so that you can ensure your commits don't break the development head. GitHub Actions
   will run on every push to any branch or any pull request from any branch to any other
   branch.
3. It is recommended to use "Squash and Merge" commits when committing PR's. It makes
   each set of changes to `main` atomic and as a side effect naturally encourages small
   well defined PR's.

