diff --git a/docs/contact.rst b/docs/contact.rst index ae56c3f9..fcb20363 100644 --- a/docs/contact.rst +++ b/docs/contact.rst @@ -8,5 +8,30 @@ making our products better, or pretty much anything else, reach out! * Open an issue in our github repo for lsdb * https://github.com/astronomy-commons/lsdb/issues/new +* Start a new github discussion + * https://github.com/astronomy-commons/lsdb/discussions/new/choose * If you're on LSSTC slack, so are we! - `#lincc-frameworks-qa `_ + * `#lincc-frameworks-qa `_ + * `#lincc-frameworks-lsdb `_ +* Join the working group, where we discuss HATS standardization and early results + * Google group: `hipscat-wg@googlegroups.com `_ + * You can listen in to demo meetings, or ask questions during co-working sessions. + Events are published on a google calendar, embedded below. + * Key: + * "HATS/LSDB Working Meeting" - Drop-in co-working/office hours. + * "HATS/LSDB Europe Working group" - Intended as European time zone friendly + discussion of HATS and LSDB. Generally open. + * "HATS/LSDB Monthly Demos" - A more structured telecon, with updates from + developers and collaborators, and HATS standardization planning. + * "LINCC Tech Talk" - Tech Talk series for software spanning LSST. + * "LINCC Frameworks Office Hours" - General office hours for anything + related to software maintained by LINCC Frameworks, during LINCC + incubators, or general software advice. + +.. raw:: html + + + +However you reach out, we want to make sure that any discourse is open and +inclusive, and we ask that everyone involved read and adhere to the +`LINCC Frameworks Code of Conduct `_ \ No newline at end of file diff --git a/docs/developer/contributing.rst b/docs/developer/contributing.rst index 3f4adb47..8929bcbb 100644 --- a/docs/developer/contributing.rst +++ b/docs/developer/contributing.rst @@ -1,6 +1,12 @@ Contributing to LSDB =============================================================================== +HATS and LSDB are primarily written and maintained by LINCC Frameworks, but we +would love to turn it over to the open-source scientific community!! We want to +make sure that any discourse is open and inclusive, and we ask that everyone +involved read and adhere to the +`LINCC Frameworks Code of Conduct `_ + Installation from Source ------------------------ @@ -11,15 +17,8 @@ To install the latest development version of LSDB you will want to build it from git clone https://github.com/astronomy-commons/lsdb cd lsdb/ -To install the package and a minimum number of dependencies you can run: - -.. code-block:: bash - - python -m pip install . - python -m pip install pytest # to validate package installation - -In alternative, you can execute the `setup_dev` script which installs all the additional requirements -to setup a development environment. +To install the package and dependencies you can run the ``setup_dev`` script which installs all +the requirements to setup a development environment. .. code-block:: bash @@ -44,6 +43,14 @@ a description. You can reach the team with bug reports, feature requests, and general inquiries by creating a new GitHub issue. +Note that you may need to make changes in multiple repos to fully implement new +features or bug fixes! See related projects: + +* HATS (`on GitHub `_ + and `on ReadTheDocs `_) +* HATS Import (`on GitHub `_ + and `on ReadTheDocs `_) + Fork the repository ------------------------------------------------------------------------------- @@ -53,74 +60,10 @@ the GitHub repository. The next steps assume the creation of branches and PRs ar .. note:: If you are (or expect to be) a frequent contributor, you should consider requesting - access to the `hipscat-friends `_ + access to the `hats-friends `_ working group. Members of this GitHub group should be able to create branches and PRs directly on LSDB, hats and hats-import, without the need of a fork. -Create a branch -------------------------------------------------------------------------------- - -It is preferable that you create a new branch with a name like -``issue/##/``. GitHub makes it pretty easy to associate -branches and tickets, but it's nice when it's in the name. - -Set up a development environment -------------------------------------------------------------------------------- - -Before installing any dependencies or writing code, it's a great idea to create a -virtual environment. LINCC-Frameworks engineers primarily use `conda` to manage virtual -environments. If you have conda installed locally, you can run the following to -create and activate a new environment. - -.. code-block:: bash - - >> conda create -n python=3.10 - >> conda activate - - -Once you have created a new environment, you can install this project for local -development using the following commands: - -.. code-block:: bash - - >> pip install -e .'[dev]' - >> pre-commit install - >> conda install pandoc - - -Notes: - -1) The single quotes around ``'[dev]'`` may not be required for your operating system. -2) ``pre-commit install`` will initialize pre-commit for this local repository, so - that a set of tests will be run prior to completing a local commit. For more - information, see the Python Project Template documentation on - `pre-commit `_. -3) Installing ``pandoc`` allows you to verify that automatic rendering of Jupyter notebooks - into documentation for ReadTheDocs works as expected. For more information, see - the Python Project Template documentation on - `Sphinx and Python Notebooks `_. - -.. tip:: - Installing on Mac - - Native prebuilt binaries for healpy on Apple Silicon Macs - `do not yet exist `_, - so it's recommended to install via conda before proceeding to LSDB. - - .. code-block:: bash - - $ conda config --add channels conda-forge - $ conda install healpy - $ git clone https://github.com/astronomy-commons/lsdb - $ cd lsdb - $ pip install -e . - - When installing dev dependencies, make sure to include the single quotes. - - .. code-block:: bash - - $ pip install -e '.[dev]' - Testing ------------------------------------------------------------------------------- @@ -139,12 +82,26 @@ you can build the documentation locally with a command like: cd docs make html +We also have a handful of automated linters and checks using ``pre-commit``. You +can run against all staged changes with the command: + +.. code-block:: bash + + pre-commit + +Create a branch +------------------------------------------------------------------------------- + +It is preferable that you create a new branch with a name like +``issue/##/``. GitHub makes it pretty easy to associate +branches and tickets, but it's nice when it's in the name. + Create your PR ------------------------------------------------------------------------------- -Please use PR best practices, and get someone to review your code. Feel free to -assign any of the active developers of LSDB (https://github.com/camposandro, -https://github.com/delucchi-cmu, or https://github.com/smcguire-cmu). +You will be required to get your code approved before merging into main. +If you're not sure who to send it to, you can use the round-robin assignment +to the ``astronomy-commons/lincc-frameworks`` group. We have a suite of continuous integration checks that run on PR creation. Please follow the code quality recommendations of the linter and formatter, and make sure @@ -155,3 +112,10 @@ Merge your PR When all the continuous integration checks have passed and upon receiving an approving review, the author of the PR is welcome to merge it into the repository. + +Release new version +------------------------------------------------------------------------------- + +New versions are manually tagged and automatically released to pypi. To request +a new release of LSDB, HATS, and HATS import packages, create a +`release ticket `_ \ No newline at end of file