G
G
gkozyrev2019-12-03 06:02:44
Python
gkozyrev, 2019-12-03 06:02:44

Python. Same modules in multiple microservices?

Need advice!
There is a large library, which is a complex tree of directories with various Python modules.
All these modules are used simultaneously in several (7) microservices, and after changing one file, you have to change it manually everywhere. I don’t have time to follow everything, all sorts of stupid bugs follow from this.
How it is possible to realize the centralized change of files of this library?
I thought about pip - a package, but, unfortunately, I have not come across it before and I can’t figure out how to implement it with such a large tree. Well, and I will be very grateful for help with building a pip package, if possible, of course)

Wood:

├── api
│   ├── __init__.py
│   ├── engine
│   │   ├── __init__.py
│   │   ├── botray
│   │   │   ├── __init__.py
│   │   │   ├── botray_pb2.py
│   │   │   ├── botray_pb2_grpc.py
│   │   │   └── proto
│   │   │       └── botray.proto
│   │   ├── databases
│   │   │   ├── __init__.py
│   │   │   ├── databases_pb2.py
│   │   │   ├── databases_pb2_grpc.py
│   │   │   └── proto
│   │   │       └── databases.proto
│   │   └── user
│   │       ├── __init__.py
│   │       ├── proto
│   │       │   └── user.proto
│   │       ├── user_pb2.py
│   │       └── user_pb2_grpc.py
│   ├── network
│   │   ├── __init__.py
│   │   ├── addressing
│   │   │   ├── __init__.py
│   │   │   ├── addressing_pb2.py
│   │   │   ├── addressing_pb2_grpc.py
│   │   │   └── proto
│   │   │       └── addressing.proto
│   │   └── reverse_proxy_manager
│   │       ├── __init__.py
│   │       ├── networking_pb2.py
│   │       ├── networking_pb2_grpc.py
│   │       └── proto
│   │           ├── __init__.py
│   │           └── networking.proto
│   ├── platform
│   │   ├── __init__.py
│   │   ├── botray
│   │   │   ├── __init__.py
│   │   │   ├── botray_pb2.py
│   │   │   ├── botray_pb2_grpc.py
│   │   │   └── proto
│   │   │       └── botray.proto
│   │   ├── databases
│   │   │   ├── __init__.py
│   │   │   ├── databases_pb2.py
│   │   │   ├── databases_pb2_grpc.py
│   │   │   └── proto
│   │   │       └── databases.proto
│   │   └── payments
│   │       ├── __init__.py
│   │       ├── payments_pb2.py
│   │       ├── payments_pb2_grpc.py
│   │       └── proto
│   │           └── payments.proto
│   └── user
│       ├── __init__.py
│       ├── account
│       │   ├── __init__.py
│       │   ├── proto
│       │   │   ├── user.proto
│       │   │   └── user.swagger.json
│       │   ├── user_pb2.py
│       │   └── user_pb2_grpc.py
│       ├── auth
│       │   ├── __init__.py
│       │   ├── auth_pb2.py
│       │   ├── auth_pb2_grpc.py
│       │   └── proto
│       │       ├── auth.pb.go
│       │       ├── auth.proto
│       │       ├── auth.swagger.json
│       │       └── swagger.serverinfo.json
│       ├── deposit
│       │   ├── __init__.py
│       │   ├── deposit_pb2.py
│       │   ├── deposit_pb2_grpc.py
│       │   └── proto
│       │       ├── deposit.proto
│       │       └── deposit.swagger.json
│       └── notificator
│           ├── __init__.py
│           ├── notificator_pb2.py
│           ├── notificator_pb2_grpc.py
│           └── proto
│               └── notificator.proto
├── requirements.txt
├── setup.py
└── test
    ├── client.py
    ├── clientP.py
    └── mailer_client.py


Thanks in advance)

Answer the question

In order to leave comments, you need to log in

1 answer(s)
K
Kirill Petrov, 2021-06-01
@Recosh

Of course, a artisanal method, but I just raised the Nginx web server, and in python, the initialization module at startup calls the server for updates and downloads all the files. Surely it is also possible to form a pip package with a download link from nginx

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question