Для этого вам необходимо убедиться, что все необходимые учетные данные (api_key, username, password) указаны при создании вашего собственного пакета. Это может быть сделано путем передачи фактической информации в ваш собственный пакет или чтения из переменной окружения.
Давайте рассмотрим несколько примеров из реального мира:
- Sendgrid:
import sendgrid
import os
from sendgrid.helpers.mail import *
sg = sendgrid.SendGridAPIClient(api_key=os.environ.get('SENDGRID_API_KEY'))
from_email = Email("test@example.com")
to_email = To("test@example.com")
subject = "Sending with SendGrid is Fun"
content = Content("text/plain", "and easy to do anywhere, even with Python")
mail = Mail(from_email, to_email, subject, content)
response = sg.client.mail.send.post(request_body=mail.get())
В приведенном выше фрагменте, чтобы мы могли получить доступ к sendgrid API, нам нужно предоставить api_key. Ключ api_key можно получить из переменной окружения, называемой SENDGRID_API_KEY, хотя реализация также делает то же самое. пожалуйста, проверьте https://github.com/sendgrid/sendgrid-python/blob/master/sendgrid/sendgrid.py для более подробной информации о реализации.
Oy-Client (Python пакет, который я создал):
from oy import build_client
oy_client = build_client("https://sandbox.oyindonesia.com/staging/partner", "username", "api-key")
oy_client.get_balance()
В приведенном выше фрагменте, чтобы мы могли получить доступ к API, нам необходимо предоставить base_url (где была точка it) и api_key.
В обоих примерах мы можем добиться переносимости и безопасности для нашего собственного кода в соответствии с https://12factor.net/config. И нет необходимости жестко задавать конфигурацию / учетные данные в вашем собственном пакете.