Filled out developer documentation and added contributing docs.

This commit is contained in:
Jeremy Mack Wright 2018-05-10 00:45:20 -04:00
parent fca26a4b86
commit 2f7872a6be
5 changed files with 99 additions and 43 deletions

3
CODE_OF_CONDUCT.md Normal file
View File

@ -0,0 +1,3 @@
# Code of Conduct
It is asked that all contributions to this project be made in a respectful and considerate way. This project has adopted the [Python Community Code of Conduct's](https://www.python.org/psf/codeofconduct/) guidelines.

40
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,40 @@
# Introduction
Thank you for your interest in contributing to the CadQuery Module for FreeCAD. Contributions by the community are welcome and appreciated.
This guide was created to help get contributors up and running as quickly as possible. Following these guidelines will help ensure that issues get resolved more quickly and efficiently.
You do not need to be a software developer to have a big impact on this project. Contributions can take many forms including, but not limited to, the following:
* Writing and improving documentation
* Triaging bugs
* Submitting bugs and feature requests
* Creating tutorial videos and blog posts
* Helping other users get started and solve problems
* Telling others about this project
* Helping with translations and internationalization
* Helping with accessibility
* Contributing bug fixes and new features
# Code of Conduct
It is asked that all contributions to this project be made in a respectful and considerate way. This project has adopted the [Python Community Code of Conduct's](https://www.python.org/psf/codeofconduct/) guidelines.
# Technical Guidelines
Beyond being good to one another, there are technical guidelines for contributing to this project as well.
* Create issues and pull requests for any major changes and enhancements that you wish to contribute back to the project. Discuss things transparently and get community feedback.
* Be welcoming and encouraging to new contributors. Again, see the [Python Community Code of Conduct](https://www.python.org/psf/codeofconduct/).
# First Time Contributors
There is no need to be nervous about making your first contribution. Everybody is a beginner at some point, and there is no better way to learn than just jumping in. If you are not sure what to do, open an [issue](https://github.com/jmwright/cadquery-freecad-module/issues) so that a community member can help you through it.
# How to Report a Bug
When filing an bug report [issue](https://github.com/jmwright/cadquery-freecad-module/issues), make sure to answer these questions:
1. What version of the software are you running?
2. What operating system are you running the software on?
3. What are the steps to reproduce the bug?
# How to Suggest a Feature or Enhancement
If you find yourself wishing for a feature that does not exist in this module, you are probably not alone. There are bound to be others out there with similar needs. Open a [issue](https://github.com/jmwright/cadquery-freecad-module/issues) which describes the feature you would like to see, why you need it, and how it should work.

View File

@ -1,42 +0,0 @@
"""
Test if the zip file is working.
Usage:
- python test_zip_file.py gen
- python test_zip_file.py
"""
import sys
import os
ZIP = os.path.join(os.getcwd(), 'libs.zip')
if len(sys.argv) == 2 and sys.argv[1] == 'gen':
#--- gen zip file
import jedi, pep8, pyqode, pyqode.core, pyqode.python, pyqode.qt, pygments, frosted, pies, builtins, future, pyflakes, docutils, pint
from qidle.system import embed_package_into_zip
embed_package_into_zip([jedi, pep8, pyqode, pyqode.core, pyqode.python,
pyqode.qt, pygments, pyflakes, builtins, future, docutils, pint, pyparsing], ZIP)
else:
# remove all pyqode path from sys.path (to make sure the package are
# imported from the zip archive)
for pth in list(sys.path):
if 'pyqode' in pth:
print('removing %s' % pth)
sys.path.remove(pth)
# importing a pyqode module should fail
fail = False
try:
from pyqode.core.api import code_edit
except ImportError:
fail = True
assert fail is True
# mount zip file
sys.path.insert(0, ZIP)
print(sys.path)
# test it!
from pyqode.core.api import code_edit
print(code_edit.__file__)
assert ZIP in code_edit.__file__

View File

@ -0,0 +1,54 @@
[<Back to Main](index.md)
## Developers
If you would like to contribute to this project, below is some information to help you get started.
### Table of Contents
- [Contribution Guidelines](developers.md#contribution-guidelines)
- [Manual Installation](developers.md#manual-installation)
- [Embedded Libraries](developers.md#embedded-libraries)
- [Updating cqparts](developers.md#updating-cqparts)
- [Compiling the Qt Resource File](developers.md#compiling-the-qt-resource-file)
- [Future Enhancements](developers.md#future-enhancements)
### Contribution Guidelines
Contribution guidelines can be found [here](https://github.com/jmwright/cadquery-freecad-module/blob/master/CONTRIBUTING.md). Please familiarize yourself with them as part of the process of getting involved.
### Manual Installation
Developers may need to run specific versions of this module which are not installed by FreeCAD's addons manager. There is a section in the installation documentation on [manual installation](installation.md#manual). This can be used to run any version or branch of the module that is needed.
### Embedded Libraries
All of the libraries that this module depends on reside in the `Libs` directory. Updated library versions should be downloaded manually, extracted, and placed in this directory. Libraries related to cqparts are updated through a script, and will be overwritten if updated manually.
### Updating cqparts
In the `Tools` directory of the repository is a utility named `update_dependencies.sh`. Any time that a new version of cqparts is released, that script should be run from within the `Tools` directory.
```
cd Tools
./update_dependencies.sh
```
This script will update some of the libraries in the `Libs` directory, as well as any relevant cqparts packages in the `ThirdParty` directory.
### Compiling the Qt Resource File
This is done to update the CadQuery logo.
1. Install the PySide development tools: `sudo apt-get install pyside-tools`
2. `cd` into the root directory of this module/workbench.
3. Run the following command: `pyside-rcc ./CQGui/Resources/CadQuery.qrc -o CadQuery_rc.py`
### Future Enhancements
Below are some future enhancements that contributors are welcome to take on.
#### Configuration File Settings
* Select a light or dark theme
* Set default directory for open/save dialogs
* ParametricParts.com user name
* Enable/disable experimental code. This would allow us to experiment with more difficult and far reaching features without affecting the non-power users, like adding CQ code to the editor by clicking a button in the GUI.
* Automatic save on execute
* User defined paths to the FreeCAD library. Matching feature request is [here](https://github.com/jmwright/cadquery-freecad-module/issues/48).
#### UI Features
* From [issue 28](https://github.com/jmwright/cadquery-freecad-module/issues/28) - Add a way to highlight the objects matched by a selector.
* From [issue 28](https://github.com/jmwright/cadquery-freecad-module/issues/28) - Add a way to visualize the negative space in a cut (something like openscad's debug operator).
* From [issue 28](https://github.com/jmwright/cadquery-freecad-module/issues/28) - Some limited mouse interaction; use to generate a direction selector based on the current view, for example.
* From [issue 19](https://github.com/jmwright/cadquery-freecad-module/issues/19) - Add interactive parameters like there are on ParametricParts.com.

View File

@ -1,6 +1,7 @@
## CadQuery Module for FreeCAD
### Table of Contents
### Documentation
- [Introduction](index.md#introduction)
- [Installation](installation.md)
- [Usage](usage.md)
- [Developers](developers.md)