# Develope Modules from github

**URL:** https://discuss.tryton.org/t/develope-modules-from-github/7548
**Category:** Developer
**Created:** [August 16, 2024, 7:22am UTC](https://discuss.tryton.org/t/develope-modules-from-github/7548 "2024-08-16T07:22:14Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![mahija](https://discuss-cdn.tryton.org/letter_avatar_proxy/v4/letter/m/a6a055/32.png) [@mahija](https://discuss.tryton.org/u/mahija)
#### Post date: [August 16, 2024, 7:22am UTC](https://discuss.tryton.org/t/develope-modules-from-github/7548/1 "2024-08-16T07:22:15Z")

</div>

I want to develope all modules from github, but i dont know how to really push it to trytond/modules, since it within virtualenv.

---

<div class="post-metadata">

### Author: ![dotbit](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/dotbit/32/2093_2.png) [@dotbit](https://discuss.tryton.org/u/dotbit)
#### Post date: [August 16, 2024, 8:32am UTC](https://discuss.tryton.org/t/develope-modules-from-github/7548/2 "2024-08-16T08:32:27Z")

</div>

I do not understand the issue you are having.

1. `git clone github.tld/my_module_name`
2. `. venv/bin/activate`
3. `python3 -m pip install --use-pep517 --editable my_module_name`

Step 3 will install your module inside the venv inside directory `venv`..  
Am I answering your question?

Hartmut made some good recommendations for directory structure:

> [@Module Directory?](https://discuss.tryton.org/t/module-directory/7532/7):
>
> I suggest to use one separate path for every of your custom modules like this . ├── my\_module\_1 │ ├── requirements.txt │ ├── setup.py │ ├── tryton.cfg │ └── … ├── my\_module\_2 │ ├── requirements.txt │ ├── setup.py │ ├── tryton.cfg │ └── … └── \_myvenv └── lib └── python └── site-packages └── trytond └── modules/…

---

<div class="post-metadata">

### Author: ![mahija](https://discuss-cdn.tryton.org/letter_avatar_proxy/v4/letter/m/a6a055/32.png) [@mahija](https://discuss.tryton.org/u/mahija)
#### Post date: [August 16, 2024, 8:55am UTC](https://discuss.tryton.org/t/develope-modules-from-github/7548/3 "2024-08-16T08:55:45Z")

</div>

Sorry if i am not articulate. The problem is: I want to install existing module like for instance gnuhealth. but i want to develope those module too, however its too much work if i edited those inside this path: /home/file/myenv/…/trytond/modules/

i want to make my own modules path. will this path work:

```auto
 ├── my_module_1
│ ├── requirements.txt
│ ├── setup.py
│ ├── tryton.cfg
│ └── …
├── my_module_2
│ ├── requirements.txt
│ ├── setup.py
│ ├── tryton.cfg
│ └── …
├── gnuhealth_health_profile
│ ├── requirements.txt
│ ├── setup.py
│ ├── tryton.cfg
│ └── …
├── gnuhealth_ems
│ ├── requirements.txt
│ ├── setup.py
│ ├── tryton.cfg
│ └── …
└── _myvenv
    └── lib
        └── python
            └── site-packages
                └── trytond
                    └── modules/

```

nad should i run the trytond-admin command per-module??

---

<div class="post-metadata">

### Author: ![dotbit](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/dotbit/32/2093_2.png) [@dotbit](https://discuss.tryton.org/u/dotbit)
#### Post date: [August 16, 2024, 9:01am UTC](https://discuss.tryton.org/t/develope-modules-from-github/7548/4 "2024-08-16T09:01:52Z")

</div>

You can not both use an existing module, and also develop it at the same time.  
To develop a module means that you want to push the changes upstream.

Tryton is meant to extend modules, so you can change most aspects of module by extending the features of a module.

Do not edit the code inside trytond/modules! It will be a nightmare to maintain.  
Every time you update the modules your changes will be overwritten.  
Every time you want to deploy your code you have to manually edit the files.

See [Extend model — Tryton server](https://docs.tryton.org/latest/server/tutorial/module/extend.html)

Do create a module that extends the modules you want to change.

What you are trying to do is explained very well in the module tutorial.

PS: I do not know if it is possible to extend gnuhealth modules, I can only speak for tryton modules.

---

<div class="post-metadata">

### Author: ![dotbit](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/dotbit/32/2093_2.png) [@dotbit](https://discuss.tryton.org/u/dotbit)
#### Post date: [August 16, 2024, 9:07am UTC](https://discuss.tryton.org/t/develope-modules-from-github/7548/5 "2024-08-16T09:07:28Z")

</div>

> [@mahija](#):
>
> nad should i run the trytond-admin command per-module??

You should install the modules using pip.  
After installing your modules with pip you need to restart trytond.  
After you have installed the modules you need to run trytond-admin one time with -m flag so that the modules appear inside your database.

Now you will have the modules list in your Modules view inside the client, now you can activate them using the gui/webclient. Or you can activate the modules using trytond-admin.

---

<div class="post-metadata">

### Author: ![dotbit](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/dotbit/32/2093_2.png) [@dotbit](https://discuss.tryton.org/u/dotbit)
#### Post date: [August 16, 2024, 9:08am UTC](https://discuss.tryton.org/t/develope-modules-from-github/7548/6 "2024-08-16T09:08:37Z")

</div>

Please try to ask one question per topic.  
If there are multiple questions per topic it becomes very confusing both for the person trying to answer, and for the people reading.
