Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Project dependencies may have API risk issues #16

Open
PyDeps opened this issue Oct 26, 2022 · 0 comments
Open

Project dependencies may have API risk issues #16

PyDeps opened this issue Oct 26, 2022 · 0 comments

Comments

@PyDeps
Copy link

PyDeps commented Oct 26, 2022

Hi, In modern-apis-with-fastapi, inappropriate dependency versioning constraints can cause risks.

Below are the dependencies and version constraints that the project is using

fastapi
uvicorn
httpx
jinja2
aiofiles
requests

The version constraint == will introduce the risk of dependency conflicts because the scope of dependencies is too strict.
The version constraint No Upper Bound and * will introduce the risk of the missing API Error because the latest version of the dependencies may remove some APIs.

After further analysis, in this project,
The version constraint of dependency fastapi can be changed to >=0.51.0,<=0.78.0.
The version constraint of dependency httpx can be changed to >=0.6.7,<=0.7.8.
The version constraint of dependency httpx can be changed to >=0.10.0,<=0.11.1.
The version constraint of dependency requests can be changed to >=0.2.1,<=0.2.3.
The version constraint of dependency requests can be changed to >=0.7.0,<=2.24.0.
The version constraint of dependency requests can be changed to ==2.26.0.

The above modification suggestions can reduce the dependency conflicts as much as possible,
and introduce the latest version as much as possible without calling Error in the projects.

The invocation of the current project includes all the following methods.

The calling methods from the fastapi
fastapi.FastAPI
fastapi.FastAPI.get
fastapi.APIRouter.get
fastapi.Response
fastapi.APIRouter
fastapi.FastAPI.include_router
fastapi.APIRouter.post
fastapi.Depends
The calling methods from the httpx
httpx.AsyncClient
The calling methods from the requests
requests.get
requests.post
The calling methods from the all methods
__create_key
choice.lower.strip
configure_routing
state.strip
pathlib.Path.absolute.exists
configure_fake_data
super
fastapi.FastAPI
bs4.BeautifulSoup.select_one
__reports.append
repr
fastapi.responses.HTMLResponse
fastapi.APIRouter.post
models.location.Location
requests.get.raise_for_status
get_html
asyncio.new_event_loop.run_until_complete
city.strip
open
country.strip
get_title_range
services.report_service.add_report
report_event
Order
asyncio.create_task
tasks.append
str
collections.namedtuple
header.text.strip
configure_api_keys
start_response
configure
__cache.get
r.get
bs4.BeautifulSoup
pathlib.Path.absolute
services.openweather_service.get_report_async
requests.get
Exception
requests.get.json
r.get.get
uuid.uuid4
fastapi.APIRouter.get
state.strip.lower
client.get.json
fastapi.FastAPI.get
models.reports.Report
range
fastapi.responses.RedirectResponse
services.report_service.get_reports
client.get
input.lower
Item
datetime.timedelta
receive
starlette.staticfiles.StaticFiles
httpx.AsyncClient
json.load.get
get_title
fastapi.APIRouter
datetime.datetime.now.total_seconds
list
fastapi.responses.JSONResponse
main
city.strip.lower
starlette.templating.Jinja2Templates
asyncio.new_event_loop
fastapi.Response
json.load
__clean_out_of_date
fastapi.FastAPI.mount
fastapi.FastAPI.include_router
uvicorn.run
client.get.raise_for_status
asyncio.run
country.strip.lower
units.strip
units.strip.lower
print
datetime.datetime.now.get
__cache.items
resp.json.get
starlette.templating.Jinja2Templates.TemplateResponse
pathlib.Path
counter
float
__reports.sort
send
super.__init__
see_events
requests.post
fastapi.Depends
dateutil.parser.parse
isinstance
datetime.datetime.now
int
input

@developer
Could please help me check this issue?
May I pull a request to fix it?
Thank you very much.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant