Skip to content

Commit

Permalink
Merge branch 'torch-update' of https://github.com/tanwarsh/openfl int…
Browse files Browse the repository at this point in the history
…o torch-update
  • Loading branch information
tanwarsh committed Dec 23, 2024
2 parents 5a2b163 + 6d6d1fa commit 9ff9067
Show file tree
Hide file tree
Showing 111 changed files with 3,326 additions and 9,683 deletions.
1 change: 0 additions & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ repos:
hooks:
- id: end-of-file-fixer
files: \.py$
- id: requirements-txt-fixer
- id: check-merge-conflict
- id: check-case-conflict
- id: check-json
Expand Down
32 changes: 9 additions & 23 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -1,37 +1,23 @@
# Read the Docs configuration file for Sphinx projects
# .readthedocs.yml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Set the OS, Python version and other tools you might need
build:
os: ubuntu-22.04
os: "ubuntu-22.04"
tools:
python: "3.10"
# You can also specify other tool versions:
# nodejs: "20"
# rust: "1.70"
# golang: "1.20"

# Build documentation in the "docs/" directory with Sphinx
# Build documentation in the docs/ directory with Sphinx
sphinx:
configuration: docs/conf.py
# You can configure Sphinx to use a different builder, for instance use the dirhtml builder for simpler URLs
# builder: "dirhtml"
# Fail on all warnings to avoid broken references
# fail_on_warning: true
fail_on_warning: false

# Optionally build your docs in additional formats such as PDF and ePub
# formats:
# - pdf
# - epub
formats:
- htmlzip

# Optional but recommended, declare the Python requirements required
# to build your documentation
# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
# Optionally set the version of Python and requirements required to build your docs
python:
install:
- method: pip
path: .
- requirements: docs/docs-requirements.txt
- requirements: docs/requirements.txt
79 changes: 1 addition & 78 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,79 +1,2 @@
# Contributing to OpenFL

We welcome contributions from the community. There are several ways to contribute:
* Improvements in [documentation](https://openfl.readthedocs.io/en/latest/).
* Contributing to OpenFL's code-base: via bug-fixes or feature additions.
* Answering questions on our [discussions page](https://github.com/securefederatedai/openfl/discussions).
* Participating in our [roadmap](https://github.com/securefederatedai/openfl/blob/develop/ROADMAP.md) discussions.

We have a slack [channel](https://join.slack.com/t/openfl/shared_invite/zt-ovzbohvn-T5fApk05~YS_iZhjJ5yaTw) and we host regular [community meetings](https://github.com/securefederatedai/openfl#support).


## How to contribute code
### Step 1. Open an issue

Before you start making any changes, it is always good to open an [issue](https://github.com/securefederatedai/openfl/issues/new/choose) first (assuming one does not already exist), outlining your proposed changes. We can give you feedback, and potentially validate the proposed changes.

For minor changes (akin to a documentation or bug fix), proceed to opening a Pull Request (PR) directly.

### Step 2. Make code changes

To modify code, you need to fork the repository. Set up a development environment as covered in the section "Setup environment" below.

### Step 3. Create a Pull Request (PR)

Once the change is ready, open a PR from your branch in your fork, to the `develop` branch in [securefederatedai/openfl](https://github.com/securefederatedai/openfl). OpenFL follows standard recommendations of PR formatting. Find more details [here](https://github.blog/2015-01-21-how-to-write-the-perfect-pull-request/).

### Step 4. Sign your work

Signoff your patch commits using your real name. We discourage anonymous contributions.

Signed-off-by: Joe Smith <[email protected]>

If you set your `user.name` and `user.email` git configs, you can sign your
commits using `git commit --signoff`.

Your signature [certifies](http://developercertificate.org/) that you wrote the patch, or, you otherwise have the right to pass it on as an open-source patch.

OpenFL is licensed under the [Apache 2.0 license](https://github.com/securefederatedai/openfl/blob/develop/LICENSE). By contributing to the project, you agree to the license and copyright terms therein and release your contribution under these terms.

### Step 5. Code review and merge

Verify that your contribution passes all tests in our CI/CD pipeline. In case of a failure, like shown below, look into the error messages and try to fix them.

![CI/CD](docs/images/CI_details.png)

Meanwhile, a reviewer will review the pull request and provide comments. Post few iterations of
reviews and changes (depending on the complexity of the changes), PR will be approved for merge.

## Setup environment

We recommend setting up a local dev environment. Clone your forked repo to your local machine and install the dependencies.

```shell
git clone https://github.com/YOUR_GITHUB_USERNAME/openfl.git
cd openfl
pip install -U pip setuptools wheel
pip install .
pip install -r linters-requirements.txt
```

## Code style

OpenFL uses [ruff](https://github.com/astral-sh/ruff) to lint/format code and [precommit](https://pre-commit.com/) checks.

Run the following command at the **root** directory of the repo to format your code.

```
sh scripts/format.sh
```
You may need to resolve errors that could not be resolved by autoformatting. To only show lint errors, run `sh scripts/lint.sh` at the **root** directory of the repo.

### Docstrings
Since docstrings cannot be checked or standardized, if you do write/edit any docstring, make sure to check them manually. OpenFL docstrings should follow the conventions below:

A **class** or a **function** docstring may contain:
* A one-line description of the class/function.
* Paragraph(s) of detailed information.
* Optional `Examples` section.
* `Args` section for arguments under `__init__()`.
For more information, see [Contributing to OpenFL](https://openfl.readthedocs.io/en/latest/contributing.html).
Loading

0 comments on commit 9ff9067

Please sign in to comment.