mirror of
https://github.com/hwchase17/langchain.git
synced 2025-06-24 15:43:54 +00:00
add developer guide (#44)
This commit is contained in:
parent
fba30e07d1
commit
4ac5345012
25
README.md
25
README.md
@ -103,3 +103,28 @@ llm_chain.predict(question=question)
|
|||||||
|
|
||||||
The above examples are probably the most user friendly documentation that exists,
|
The above examples are probably the most user friendly documentation that exists,
|
||||||
but full API docs can be found [here](https://langchain.readthedocs.io/en/latest/?).
|
but full API docs can be found [here](https://langchain.readthedocs.io/en/latest/?).
|
||||||
|
|
||||||
|
## 🤖 Developer Guide
|
||||||
|
|
||||||
|
To begin developing on this project, first clone to the repo locally.
|
||||||
|
To install requirements, run `pip install -r requirments.txt`.
|
||||||
|
This will install all requirements for running the package, examples, linting, formatting, and tests.
|
||||||
|
|
||||||
|
Formatting for this project is a combination of [Black](https://black.readthedocs.io/en/stable/) and [isort](https://pycqa.github.io/isort/).
|
||||||
|
To run formatting for this project, run `make format`.
|
||||||
|
|
||||||
|
Linting for this project is a combination of [Black](https://black.readthedocs.io/en/stable/), [isort](https://pycqa.github.io/isort/), [flake8](https://flake8.pycqa.org/en/latest/), and [mypy](http://mypy-lang.org/).
|
||||||
|
To run linting for this project, run `make lint`.
|
||||||
|
We recognize linting can be annoying - if you do not want to do it, please contact a project maintainer and they can help you with it. We do not want this to be a blocker for good code getting contributed.
|
||||||
|
|
||||||
|
Unit tests cover modular logic that does not require calls to outside apis.
|
||||||
|
To run unit tests, run `make tests`.
|
||||||
|
If you add new logic, please add a unit test.
|
||||||
|
|
||||||
|
Integration tests cover logic that requires making calls to outside APIs (often integration with other services).
|
||||||
|
To run integration tests, run `make integration_tests`.
|
||||||
|
If you add support for a new external API, please add a new integration test.
|
||||||
|
|
||||||
|
Docs are largely autogenerated by [sphinx](https://www.sphinx-doc.org/en/master/) from the code.
|
||||||
|
For that reason, we ask that you add good documentation to all classes and methods.
|
||||||
|
Similar to linting, we recognize documentation can be annoying - if you do not want to do it, please contact a project maintainer and they can help you with it. We do not want this to be a blocker for good code getting contributed.
|
||||||
|
Loading…
Reference in New Issue
Block a user