mirror of
https://github.com/instaloader/instaloader.git
synced 2024-08-17 20:29:38 +02:00
- Keep documentation in sync with master branch - Run PyLint and MyPy on Github Actions - Update Issue templates, enforce usage of issue templates, add links to resources in Instaloader Documentation - Update contributing.rst
119 lines
4.5 KiB
ReStructuredText
119 lines
4.5 KiB
ReStructuredText
.. _contributing:
|
|
|
|
Contributing to Instaloader
|
|
===========================
|
|
|
|
As an open source project, Instaloader heavily depends on the contributions from
|
|
its community. In this document, we advise on how you may help Instaloader to
|
|
become an even greater tool.
|
|
|
|
Instaloader's development is organized on
|
|
`GitHub <https://github.com/instaloader/instaloader>`__, where Issues and Pull
|
|
Requests are discussed.
|
|
|
|
Reporting Bugs
|
|
--------------
|
|
|
|
If you encounter a bug, do not hesitate to report it in our
|
|
`Issue Tracker <https://github.com/instaloader/instaloader/issues>`__. When
|
|
reporting a problem, please keep the following in mind:
|
|
|
|
- Ensure you **use the latest version** of Instaloader. The currently-installed
|
|
version can be found out with ``instaloader --version``.
|
|
|
|
- Check whether there is a valid solution in our :ref:`troubleshooting` section.
|
|
|
|
- Briefly **check whether the bug has already been reported**. If you find an
|
|
issue reporting the same bug you encountered, comment there rather than
|
|
opening a new issue. However, if unsure, please create a new issue.
|
|
|
|
- State **how the bug can be reproduced**, i.e. how Instaloader was invoked
|
|
when the problem occurred (of course, you may anonymize profile names etc.).
|
|
|
|
- Include all **error messages and tracebacks** in the report.
|
|
|
|
- If not obvious, describe **which behavior you expected**
|
|
instead of what actually happened.
|
|
|
|
- If we have closed an issue apparently inadvertently or inappropriately, please
|
|
let us know.
|
|
|
|
Writing Code or Improving the Documentation
|
|
-------------------------------------------
|
|
|
|
Changes of the Instaloader source can be proposed as a
|
|
`Pull Request <https://github.com/instaloader/instaloader/pulls>`__. There are only
|
|
few things to consider:
|
|
|
|
- Base your Pull Request on the ``master`` branch if it fixes a bug,
|
|
or the ``upcoming/v4.X`` (if it exists at the moment of submitting the PR)
|
|
branch otherwise.
|
|
|
|
- We use `Pylint <https://www.pylint.org/>`__ for error and syntax checking of
|
|
the source and `MyPy <https://github.com/python/mypy>`__ for type checking
|
|
(Note that sometimes it might be better to disable a warning rather than
|
|
adapting the code to a tool's desires).
|
|
|
|
- The documentation source is located in the ``docs`` folder. The file
|
|
``cli-options.rst`` is merely an RST-formatted copy of ``instaloader --help``
|
|
output, of which the source is in ``instaloader/__main__.py``.
|
|
|
|
Proposing Features
|
|
------------------
|
|
|
|
.. goal-start
|
|
|
|
Instaloader's goal is to mimic the browser's behavior to access the data that
|
|
is available through the Instagram web interface, pack this data into complete
|
|
and easily-(re)usable python objects, and provide a user interface for the most
|
|
common downloading and metadata collection tasks, without changing any of the
|
|
online data.
|
|
|
|
.. goal-end
|
|
|
|
Prior spending effort on implementing a new feature, it might be appropriate to
|
|
clarify how it could fit into the project's scope or discuss implementation
|
|
details. If you feel the need to do so, please create a "feature suggestion".
|
|
|
|
- Instaloader already has plenty of features. **Check the documentation**
|
|
beforehand to ensure your desired suggestion is not already implemented.
|
|
|
|
- Briefly **ensure that your idea has not already been suggested**. If you find
|
|
an issue suggesting the same or a similar feature, share your thoughts in a
|
|
comment there, instead of opening a new issue.
|
|
|
|
- **Motivate the feature**, i.e.
|
|
|
|
- Provide us a **use case of the feature**: How could the user
|
|
invoke the new function? Which problem would it solve? If new information is
|
|
obtained, how would it be further processed?
|
|
|
|
- Describe already-working **alternatives of the feature** and how they
|
|
compare with your proposed solution.
|
|
|
|
- Briefly describe how your suggested feature **conforms with Instaloader's
|
|
project goal**.
|
|
|
|
- Explain your **solution ideas**. Describe your ideas on how the feature could
|
|
be implemented and the underlying problem could be solved. Also describe
|
|
alternatives that you have considered.
|
|
|
|
Donations
|
|
---------
|
|
|
|
.. donations-start
|
|
|
|
It is a pleasure for us to share our Instaloader to the world, and we are proud
|
|
to have attracted such an active and motivating community, with so many users
|
|
who share their suggestions and ideas with us. Buying a community-sponsored beer
|
|
or coffee from time to time is very likely to further raise our passion for the
|
|
development of Instaloader.
|
|
|
|
| For donations, we provide a PayPal.Me link and a Bitcoin address.
|
|
| `PayPal.me/aandergr <https://www.paypal.me/aandergr>`__
|
|
| BTC: 1Nst4LoadeYzrKjJ1DX9CpbLXBYE9RKLwY
|
|
|
|
.. donations-end
|
|
|
|
.. (Discussion in :issue:`130`)
|