diff --git a/AUTHORS.md b/AUTHORS.md new file mode 100644 index 0000000..1802080 --- /dev/null +++ b/AUTHORS.md @@ -0,0 +1,12 @@ +# Credits + +## Development Lead + + - Daniel Roy Greenfeld \<\> + +## Contributors + + - Edward Betts (@EdwardBetts) + - Nick Coghlan (@ncoghlan) + - rooterkyberian (@rooterkyberian) + - OhenebaAduhene (@OhenebaAduhene) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..4b39933 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,107 @@ +# 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 . + +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" is +open to whoever wants to implement it. + +### Implement Features + +Look through the GitHub issues for features. Anything tagged with +"feature" is open to whoever wants to implement it. + +### Write Documentation + +whichcraft could always use more documentation, whether as part of the +official whichcraft 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 +. + +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 +whichcraft for local development. + +1. Fork the whichcraft repo on GitHub. + +2. Clone your fork locally: + + $ git clone git@github.com:your_name_here/whichcraft.git + +3. Install your local copy into a virtualenv. Assuming you have + virtualenvwrapper installed, this is how you set up your fork for + local development: + + $ mkvirtualenv whichcraft + $ cd whichcraft/ + $ 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. Run black (python 3.6 or highter) + when making any changes to enforce code style: + + $ black . + +6. When you're done making changes, check the tests, including testing + other Python versions with tox: + + $ pytest + $ tox + + To get pytest and tox, just pip install them into your virtualenv. + +7. 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 + +8. 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.3, 3.4, 3.5, 3.6, 3.7 + and for PyPy. - Check + and make + sure that the tests pass for all supported Python versions. diff --git a/HISTORY.md b/HISTORY.md new file mode 100644 index 0000000..e561895 --- /dev/null +++ b/HISTORY.md @@ -0,0 +1,62 @@ +# History + +## 0.6.1 (2019-09-06) + + - Fix versioning issue + +## 0.6.0 (2019-07-12) + + - Remove lingering unicode issues + - Add BriteCore as a sponsor + +## 0.5.3 (2018-10-10) + + - Add BriteCore as a sponsor + +## 0.5.2 (2018-10-09) + + - Remove any mention of 3.2 and 3.3 + +## 0.5.1 (2018-10-09) + + - Fix setup.py so it works with older Python + +## 0.5.0 (2018-10-09) + + - Add 3.7 support thanks to @rooterkyberian + - Remove any mention of 2.6 + +## 0.4.2 (2018-04-16) + + - Use black for code formatting + - Move status to production/stable + - Drop Python 2.6 and 3.3 support + +## 0.4.1 (2017-04-25) + + - Added tests to support Python 3.6 + +## 0.3.1 (2016-05-10) + + - Now testing for which directly, so we + can support versions of Python 3 before 3.3 (@nickcoghlan) + +## 0.3.1 (2016-04-24) + + - Correcting version in whichcraft.py + +## 0.3.0 (2016-04-24) + + - Include tests in release source tarball (@Edwardbetts) + +## 0.2.0 (2016-04-23) + + - Python 3.5 compatability + +## 0.1.1 (2015-09-09) + + - Added lyrics + +## 0.1.0 (2015-09-09) + + - First release on PyPI. diff --git a/README.md b/README.md new file mode 100644 index 0000000..1abf1e5 --- /dev/null +++ b/README.md @@ -0,0 +1,58 @@ +# whichcraft + +[![image](https://badge.fury.io/py/whichcraft.svg)](http://badge.fury.io/py/whichcraft) + +[![image](https://travis-ci.org/pydanny/whichcraft.svg?branch=master)](https://travis-ci.org/pydanny/whichcraft) + +[![image](https://codecov.io/gh/pydanny/whichcraft/branch/master/graph/badge.svg)](http://codecov.io/github/pydanny/whichcraft?branch=master) + +[![image](https://ci.appveyor.com/api/projects/status/v9coijayykhkeu4d?svg=true)](https://ci.appveyor.com/project/pydanny/whichcraft) + +[![Code style: +black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black) + + That code in my care + That sly command-line stare + That strips my operating system bare + It's whichcraft + +This package provides cross-platform cross-python `shutil.which` +functionality. + +## Usage + +On Linux, Mac, Windows for Python 2.7 or any of the maintained 3s: + +``` python +>>> from whichcraft import which +>>> which('date') +'/bin/date' +>>> which('calendar') +'/bin/calendar' +>>> which('cookiecutter') +'/Users/pydanny/.envs/fun/bin/cookiecutter' +>>> which('a-made-up-name') is None +True +``` + +## Notes + +This is a shim of the `shutil.which` function that's designed to work +across multiple versions of Python and inside of windows. The code for +Python 2.x is based on Python 3 code that I extracted from source. I +originally did this for +[Cookiecutter](https://github.com/audreyr/cookiecutter) but pulled it +out in order to reduce line count for that project. + +Edgecase: Date function works perfectly on mac os and linux system, +hence returns string. But is an in-built function in windows hence +returns none as value when called in windows. + +# Sponsor + +This work is sponsored by BriteCore, which does awesome things with +Python, Django, JavaScript, and AWS. [Apply for a job if you're +interested\!](http://engineering-application.britecore.com/) + +[![Code style: +black](https://avatars1.githubusercontent.com/u/967173?s=200&v=4)](http://engineering-application.britecore.com/)