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 #42

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

Project dependencies may have API risk issues #42

PyDeps opened this issue Oct 26, 2022 · 0 comments

Comments

@PyDeps
Copy link

PyDeps commented Oct 26, 2022

Hi, In mooder, inappropriate dependency versioning constraints can cause risks.

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

-ihttps://pypi.tuna.tsinghua.edu.cn/simple
django
markdown
django-markup
django-pure-pagination
django-simple-captcha
django-bootstrap3
django-registration-redux
django-anymail[mailgun]
pytz
psycopg2-binary
python-dotenv
gunicorn
gevent

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 django-simple-captcha can be changed to >=0.3.3,<=0.3.7.
The version constraint of dependency django-simple-captcha can be changed to >=0.5.4,<=0.5.17.

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 django-simple-captcha
captcha.fields.CaptchaField
The calling methods from the all methods
views.OrderCreateView.as_view
views.PostListView.as_view
archives.models.Post.posts.values
django.http.response.HttpResponseRedirect
django.db.models.TextField
self.JavascriptView.super.dispatch
django.db.migrations.AlterModelOptions
self._get_style
self.FrontPostManager.super.get_queryset.filter
django.db.migrations.AlterField
django.db.models.Count.Post.posts.values.annotate.values
django.forms.HiddenInput
self.normalize_email
views.GiftDetailView.as_view
User.objects.order_by
html.replace.replace
django.db.migrations.CreateModel
list
views.LinkAddView.as_view
self.ProfileView.super.dispatch
format
os.environ.setdefault
self.get_object
s.get_decoded.get
views.LinkDeleteView.as_view
User.objects.values
context.user.has_perm
self._get_style.get
views.CoinLogView.as_view
django.forms.Textarea
archives.models.Comment.objects.all
accounts.models.Invitecode.objects.filter
mooder.extends.purifier.XssHtml.getHtml
os.path.dirname
models.Post.posts.all
self.node_default
django.utils.html.conditional_escape
django.db.models.PositiveIntegerField
self.get_queryset
views.ArchiveDetailView.as_view
views.GiftLogListView.as_view
urllib.parse.urlparse
django.db.models.ImageField
django.core.validators.MinValueValidator
django.db.models.functions.TruncDay.dweek.Post.posts.filter.annotate.values
queryset.update
django.forms.IntegerField
User.objects.get
archives.models.GiftLog.objects.filter
django.db.models.Count
django.contrib.auth.views.PasswordResetDoneView.as_view
archives.models.Post.posts.count
django.contrib.admin.register
django.utils.timezone.now
django.db.models.EmailField
views.GiftLogWaitListView.as_view
User.objects.create_superuser
views.VerifyPostListView.as_view
django.http.JsonResponse
django.conf.urls.static.static
views.BanUserView.as_view
views.GiftDeleteView.as_view
User.objects.all
post.author.save
CoinLog.save
self.get_success_url
django.db.models.Count.User.objects.values.annotate.values
forms.CommentForm
django.template.Library.filter
django.forms.RegexField
django.forms.CharField
os.path.join
self.SignupForm.super.save
django.db.models.URLField
views.ArchiveView.as_view
html.replace.replace.replace
views.UserView.as_view
self.FrontPostManager.super.get_queryset
archives.models.Post.posts.filter
self.request.META.get
django.db.models.Count.Post.posts.values.annotate.values.order_by
form.save.save
self.start.pop
self.IndexView.super.get_context_data
self._get_style.items
django.urls.reverse_lazy
accounts.models.Invitecode
registration.backends.default.views.ResendActivationView.as_view
django.utils.crypto.get_random_string
abs
request.META.get
self.result.append
token.split_contents
django.views.generic.TemplateView.as_view
django.db.models.AutoField
name.isalpha
django.db.migrations.RemoveField
self.get_context_data
errors.get
self.ProfileDetailView.super.get_context_data
django.contrib.sessions.models.Session.objects.all
django.db.models.functions.TruncDay
print
django.contrib.auth.views.PasswordResetConfirmView.as_view
s.delete
self._htmlspecialchars
super
self._wash_attr
self._get_style.startswith
accounts.models.Invitecode.save
User.objects.filter
self._common_attr
user.has_perm
managements.models.CoinLog.objects.filter
self.tags_own_attrs.get
request.user.save
django.db.migrations.AddField
self.AdminPermissionMixin.super.dispatch
django.core.validators.MaxValueValidator
self.handle_no_permission
models.Post.posts.filter
re.compile.match
views.VerifyView.as_view
views.DeleteCommentView.as_view
django.db.models.functions.TruncDay.dweek.Post.posts.filter.annotate.values.annotate
os.path.splitext
registration.backends.default.views.RegistrationView.as_view
models.GiftLog.objects.filter
views.UploadImageView.as_view
XssHtml
datetime.timedelta
tag.self.getattr
django.shortcuts.get_object_or_404
views.JavascriptView.as_view
django.contrib.auth.views.LoginView.as_view
django.db.models.Manager
self.get_queryset.filter
PermNode
hashlib.md5
django.shortcuts.reverse
self.CoinLogView.super.get_context_data
django.templatetags.static.static
self.create_user.save
django.db.models.F
self.create_user
mooder.extends.purifier.XssHtml.feed
self.request.user.save
self.cleaned_data.models.Invitecode.objects.filter.exists
post.buyers.filter
views.IgnoreView.as_view
django.core.wsgi.get_wsgi_application
archives.models.Post.posts.all
archives.models.GiftLog.objects.filter.count
ActivationView.as_view
views.GiftEditView.as_view
views.LinkListView.as_view
django.db.models.Count.User.objects.values.annotate.values.order_by
forms.CommentForm.is_valid
models.Invitecode.objects.get.save
views.LinkEditView.as_view
self.CommentForm.super.__init__
django.db.models.Count.TruncDay.dweek.Post.posts.filter.annotate.values.annotate.values
views.InviteCodeListView.as_view
mooder.extends.purifier.XssHtml
self.nodelist.render
tuple
form.save
XssHtml.getHtml
self._true_url
django.shortcuts.get_object_or_404.save
django.db.models.BooleanField
urllib.parse.urlencode
self.node_default.items
str
post.buyers.add
django.db.models.Count.TruncDay.dweek.Post.posts.filter.annotate.values.annotate.values.order_by
managements.models.log_coin
dotenv.load_dotenv
dict.get
django.contrib.auth.views.PasswordChangeDoneView.as_view
name.isdigit
ext.lower.lower
views.ArchiveBuyView.as_view
self._response_403_template
models.Invitecode.objects.get
views.GiftListView.as_view
forms.PostImageForm
hasattr
django.urls.path
self.data.append
query.filter.filter
re.sub
request.get_full_path
FrontPostManager
django.shortcuts.redirect
self.email.lower.encode
captcha.fields.CaptchaField
django.db.models.IntegerField
self.email.lower.encode.hashlib.md5.hexdigest
views.OrderDetailView.as_view
parser.delete_first_token
join
self.handle_starttag
re.compile
request.user.id.post.buyers.filter.exists
queryset.get.save
views.HideView.as_view
self.create_user.set_password
django.contrib.auth.views.PasswordResetView.as_view
archives.models.Gift.objects.filter
django.contrib.admin.site.register
self.email.lower
self.kwargs.get
self._limit_attr
models.CoinLog.objects.filter
range
errors.as_text
os.path.abspath
analysis_count.get
archives.models.Post.posts.values.annotate
self.model
self._get_user_chart
wsgiref.util.FileWrapper
django.shortcuts.render
dweek.Post.posts.filter.annotate
django.db.models.Q
django.dispatch.receiver
models.Gift.objects.filter
parser.parse
uuid.uuid4
self.kwargs.setdefault
s.get_decoded
request.user.has_perm
self.request.POST.get
views.ProfileDetailView.as_view
views.UserDetailView.as_view
views.IndexView.as_view
User.objects.count
errors.tuple.errors.get.as_text
views.DeleteInviteCodeView.as_view
self.render_to_response
views.ProfileView.as_view
views.GenerateInvitecodeView.as_view
views.EditPostView.as_view
MyUserManager
datetime.datetime.now
user.id.post.buyers.filter.exists
self.request.user.has_perm
self.cleaned_data.get
getattr
self.object.author.save
self.request.GET.get
views.AttachmentView.as_view
models.log_coin
django.db.models.DateTimeField
self.ArchiveDetailView.super.get_context_data
django.template.Library
django.utils.timezone.get_current_timezone
django.db.models.CharField
XssHtml.close
views.ProfileOrderView.as_view
ImportError
django.template.defaultfilters.date
self._get_style.append
User.objects.filter.exists
views.GiftAddView.as_view
open
archives.models.Post.posts.filter.count
forms.CommentForm.save
self.object.save
dict
self.object.user.save
django.core.management.execute_from_command_line
django.http.StreamingHttpResponse
django.db.migrations.DeleteModel
enumerate
django.db.models.ManyToManyField
html.replace
django.contrib.auth.views.PasswordResetCompleteView.as_view
views.ProfileEditView.as_view
views.CoinView.as_view
os.path.basename
django.db.models.FileField
self._true_style
models.Invitecode.objects.filter
self.PostForm.super.__init__
User.objects.values.annotate
django.db.migrations.swappable_dependency
self.has_permission
XssHtml.feed
urllib.parse.quote
self._get_post_chart
self.start.append
self._set_attr_default
django.utils.timezone.now.today
zip
django.db.models.OneToOneField
self.form_invalid
views.CreateArchiveView.as_view
form.add_error
Comment.objects.get
django.utils.safestring.mark_safe
limit.items
mooder.extends.purifier.XssHtml.close
django.core.exceptions.ValidationError
views.GiftLogDetailView.as_view
os.path.exists
HTMLParser.HTMLParser.__init__
html.replace.replace.replace.replace
os.environ.get
self.ProfileView.super.get_context_data
l.strftime
CoinLog
archives.models.Link.objects.all
request.build_absolute_uri
ret.append
django.template.Library.simple_tag
self.ProfileForm.super.__init__
archives.models.GiftLog.objects.all
self._get_link
django.forms.ValidationError
views.ProfilePostView.as_view
archives.models.Comment.objects.all.get
url.startswith
django.db.models.ForeignKey
django.contrib.auth.get_user_model
self.OrderCreateView.super.get_context_data
django.contrib.auth.validators.UnicodeUsernameValidator
f.read
os.environ.get.lower
ValueError
django.urls.include
len
django.forms.FileInput
self._get_analysis_chart
django.contrib.auth.views.PasswordChangeView.as_view

@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