Skip to content

Commit

Permalink
Merge c83f7a9 into 6a66f6e
Browse files Browse the repository at this point in the history
  • Loading branch information
jakirkham committed Aug 3, 2018
2 parents 6a66f6e + c83f7a9 commit b43dcc0
Show file tree
Hide file tree
Showing 38 changed files with 3,822 additions and 0 deletions.
23 changes: 23 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
[run]
branch = True
source = pysharedmem
[report]
exclude_lines =
# Ignore coverage of code that requires the module to be executed.
if __name__ == .__main__.:

# Ignore continue statement in code as it can't be detected as covered
# due to an optimization by the Python interpreter. See coverage issue
# ( https://bitbucket.org/ned/coveragepy/issue/198/continue-marked-as-not-covered )
# and Python issue ( http://bugs.python.org/issue2506 ).
continue
omit =
*/python?.?/*
*/site-packages/*
*/eggs/*
*/.eggs/*
*tests/*
*/travis_pypi_setup.py
*/versioneer.py
*/_version.py
*/_vendor/*
21 changes: 21 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# http://editorconfig.org

root = true

[*]
indent_style = space
indent_size = 4
trim_trailing_whitespace = true
insert_final_newline = true
charset = utf-8
end_of_line = lf

[*.bat]
indent_style = tab
end_of_line = crlf

[LICENSE]
insert_final_newline = false

[Makefile]
indent_style = tab
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
pysharedmem/_version.py export-subst
15 changes: 15 additions & 0 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
* pysharedmem version:
* Python version:
* Operating System:

### Description

Describe what you were trying to get done.
Tell us what happened, what went wrong, and what you expected to happen.

### What I Did

```
Paste the command(s) you ran and the output.
If there was a crash, please include the traceback here.
```
63 changes: 63 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
*.egg-info/
.installed.cfg
*.egg

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*,cover
.hypothesis/

# Translations
*.mo
*.pot

# Django stuff:
*.log

# Sphinx documentation
docs/_build/
docs/pysharedmem*.rst

# PyBuilder
target/

# pyenv python configuration file
.python-version
38 changes: 38 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
sudo: false

language: generic

os: osx
osx_image: xcode6.4

env:
- PYVER="3.6"
- PYVER="3.5"
- PYVER="2.7"

install:
# Install and Configure Miniconda.
- source .travis_support/install_miniconda.sh

# Create the test environment.
- export CONDA_ENV_TYPE="ci"
- source .travis_support/create_env.sh

# Install the package and dependencies.
- pip install -e .

# Run tests and measure test coverage.
script:
- coverage erase
- coverage run --source . setup.py test
- coverage report -m

# Report coverage.
after_success:
- export CONDA_ENV_TYPE="dpl"
- source .travis_support/create_env.sh
- coveralls

# Disable email notifications.
notifications:
email: false
25 changes: 25 additions & 0 deletions .travis_support/create_env.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#!/bin/bash

# Some reasonable bash constraints.
set -xeuo pipefail

# Check CONDA_ENV_TYPE was set.
if [ -z "${CONDA_ENV_TYPE}" ]; then
echo "Set $CONDA_ENV_TYPE externally."
exit 1
fi

# Create a temporary directory for the environment.
export SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
export CONDA_ENV_PREFIX="$(mktemp -d -t '')"
export CONDA_ENV_PATH="${CONDA_ENV_PREFIX}/${CONDA_ENV_TYPE}"
export CONDA_ENV_SPEC="${SCRIPT_DIR}/environments/${CONDA_ENV_TYPE}.yml"

# Fill the temporary directory.
conda activate
conda create -y -p "${CONDA_ENV_PATH}" python="${PYVER}"
conda env update -p "${CONDA_ENV_PATH}" --file "${CONDA_ENV_SPEC}"
conda activate "${CONDA_ENV_PATH}"

# Unset all bash constraints.
set +xeuo pipefail
9 changes: 9 additions & 0 deletions .travis_support/environments/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
name: pysharedmem_env

channels:
- conda-forge

dependencies:
- pip==18.0
- wheel==0.31.1
- coverage==4.5.1
11 changes: 11 additions & 0 deletions .travis_support/environments/dpl.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: pysharedmem_env

channels:
- conda-forge

dependencies:
- python==3.6
- pip==18.0
- wheel==0.31.1
- coverage==4.5.1
- coveralls==1.3.0
31 changes: 31 additions & 0 deletions .travis_support/install_miniconda.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#!/bin/bash

# Some reasonable bash constraints.
set -xeuo pipefail

# Miniconda Config:
export MINICONDA_VERSION="4.5.4"
export MINICONDA_MD5="164ec263c4070db642ce31bb45d68813"
export MINICONDA_INSTALLER="${HOME}/miniconda.sh"
export MINICONDA_DIR="${HOME}/miniconda"

# Install Miniconda.
curl -L "https://repo.continuum.io/miniconda/Miniconda3-${MINICONDA_VERSION}-MacOSX-x86_64.sh" > "${MINICONDA_INSTALLER}"
openssl md5 "${MINICONDA_INSTALLER}" | grep "164ec263c4070db642ce31bb45d68813"
bash "${MINICONDA_INSTALLER}" -b -p "${MINICONDA_DIR}"
rm -f "${MINICONDA_INSTALLER}"

# Activate conda.
source "${MINICONDA_DIR}/etc/profile.d/conda.sh"
conda activate base

# Configure conda.
conda config --set show_channel_urls true

# Update conda.
conda update -y -n root --all
conda install -y -n root conda-build
conda clean -tipsy

# Unset all bash constraints.
set +xeuo pipefail
13 changes: 13 additions & 0 deletions AUTHORS.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
=======
Credits
=======

Development Lead
----------------

* John Kirkham <kirkhamj@janelia.hhmi.org>

Contributors
------------

None yet. Why not be the first?
113 changes: 113 additions & 0 deletions CONTRIBUTING.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
.. highlight:: shell

============
Contributing
============

Contributions are welcome, and they are greatly appreciated! Every
little bit helps, and credit will always be given.

You can contribute in many ways:

Types of Contributions
----------------------

Report Bugs
~~~~~~~~~~~

Report bugs at https://github.com/jakirkham/pysharedmem/issues.

If you are reporting a bug, please include:

* Your operating system name and version.
* Any details about your local setup that might be helpful in troubleshooting.
* Detailed steps to reproduce the bug.

Fix Bugs
~~~~~~~~

Look through the GitHub issues for bugs. Anything tagged with "bug"
and "help wanted" is open to whoever wants to implement it.

Implement Features
~~~~~~~~~~~~~~~~~~

Look through the GitHub issues for features. Anything tagged with "enhancement"
and "help wanted" is open to whoever wants to implement it.

Write Documentation
~~~~~~~~~~~~~~~~~~~

pysharedmem could always use more documentation, whether as part of the
official pysharedmem docs, in docstrings, or even on the web in blog posts,
articles, and such.

Submit Feedback
~~~~~~~~~~~~~~~

The best way to send feedback is to file an issue at https://github.com/jakirkham/pysharedmem/issues.

If you are proposing a feature:

* Explain in detail how it would work.
* Keep the scope as narrow as possible, to make it easier to implement.
* Remember that this is a volunteer-driven project, and that contributions
are welcome :)

Get Started!
------------

Ready to contribute? Here's how to set up `pysharedmem` for local development.

1. Fork the `pysharedmem` repo on GitHub.
2. Clone your fork locally::

$ git clone git@github.com:your_name_here/pysharedmem.git

3. Install your local copy into an environment. Assuming you have conda installed, this is how you set up your fork for local development (on Windows drop `source`). Replace `"<some version>"` with the Python version used for testing.::

$ conda create -n pysharedmemenv python="<some version>"
$ source activate pysharedmemenv
$ python setup.py develop

4. Create a branch for local development::

$ git checkout -b name-of-your-bugfix-or-feature

Now you can make your changes locally.

5. When you're done making changes, check that your changes pass flake8 and the tests, including testing other Python versions::

$ flake8 pysharedmem tests
$ python setup.py test or py.test

To get flake8, just conda install it into your environment.

6. Commit your changes and push your branch to GitHub::

$ git add .
$ git commit -m "Your detailed description of your changes."
$ git push origin name-of-your-bugfix-or-feature

7. Submit a pull request through the GitHub website.

Pull Request Guidelines
-----------------------

Before you submit a pull request, check that it meets these guidelines:

1. The pull request should include tests.
2. If the pull request adds functionality, the docs should be updated. Put
your new functionality into a function with a docstring, and add the
feature to the list in README.rst.
3. The pull request should work for Python 2.7, 3.4, 3.5, and 3.6. Check
https://travis-ci.org/jakirkham/pysharedmem/pull_requests
and make sure that the tests pass for all supported Python versions.

Tips
----

To run a subset of tests::


$ python -m unittest tests.test_pysharedmem
8 changes: 8 additions & 0 deletions HISTORY.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
=======
History
=======

0.1.0 (2018-08-02)
------------------

* First release on PyPI.
Loading

0 comments on commit b43dcc0

Please sign in to comment.