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

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

Project dependencies may have API risk issues #241

PyDeps opened this issue Oct 26, 2022 · 0 comments

Comments

@PyDeps
Copy link

PyDeps commented Oct 26, 2022

Hi, In mongodb-engine, inappropriate dependency versioning constraints can cause risks.

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

pymongo>=2.8
djangotoolbox>=1.6.0
django-dbindexer>=1.6.0
https://github.com/django-nonrel/django/tarball/nonrel-1.6

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 pymongo can be changed to >=0.2pre,<=4.1.1.
The version constraint of dependency djangotoolbox can be changed to >=1.6.0,<=1.8.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 pymongo
gridfs.GridFS
The calling methods from the djangotoolbox
djangotoolbox.fields.EmbeddedModelField
djangotoolbox.fields.RawField
djangotoolbox.fields.DictField
djangotoolbox.fields.ListField
The calling methods from the all methods
cls
query.collection.map_reduce
django.core.exceptions.ImproperlyConfigured
iter
django.conf.urls.defaults.patterns
self._get_collection
_mongodbs.append
gridfs.delete
self._get_collection.update
django.db.models.OneToOneField
field.has_default
djangotoolbox.fields.RawField
time.time
BookManager
kwargs.setdefault
self.TokenizedField.super.contribute_to_class
exit
self.GridFSField.super.__init__
self.BookManager.super.create
django.http.HttpResponse
options.get
format
re.compile
dict.iteritems
django.core.serializers.json.Deserializer
self.GridFSString.super._property_get.read
self._get_gridfs
name.rfind
sys.path.append
self.TokenizedField.super.__init__
typemap.get
zip
c.split
old_check_call
self.BookManager.super.get_or_create
filter
len
django.conf.urls.defaults.include
MongoDBQuerySet
query.collection.map_reduce.drop
issubclass
name.startswith
django.db.models.EmailField
django.db.models.DateField
attr.startswith
self.assertEqual
django.contrib.admin.site.register
gridfs.GridFS
self._get_connection
setuptools.find_packages
cls.add_to_class
django.core.management.execute_from_command_line
django.views.generic.DetailView.as_view
os.path.split
list
self._get_gridfs.get_last_version
os.environ.setdefault
django.db.models.ForeignKey
django.db.models.CharField
gridfs.list
os.path.join.replace
django.db.backends.util.logger.debug
_get_subcollections
south.modelsinspector.add_introspection_rules
textwrap.dedent
imp.find_module
self._get_collection.create_index
django.conf.settings.DATABASES.iteritems
_compiler_for_queryset.execute_update
django.views.generic.ListView.as_view
template.format
utils.get_current_year
self._get_site_id
self._map_reduce_cpython
kwargs.pop
sys.stderr.write
dir
super_meth
django.utils.encoding.filepath_to_uri
dict.keys
os.path.join
connection.ops.value_for_db
get_objectid_fields
django.core.management.execute_manager
django.contrib.admin.autodiscover
django.db.utils.IntegrityError
self._get_gridfs.get
field.set_attributes_from_name
field.get_default
djangotoolbox.fields.EmbeddedModelField
self.get
django.contrib.sites.models.Site.objects.get
self.filter
BaseTokenizer.tokenize_item
django_mongodb_engine.utils.make_struct
location.strip
self._get_collection.drop_index
self.profile_call
self.get_query_set.inline_map_reduce
connection.ops.compiler
self.stdout.write
setattr
_init_mongodbs
utils.make_index_list
self._compiler_for_queryset.build_query
subprocess.check_call
mimetypes.guess_type
django.db.models.signals.class_prepared.connect
int_to_objectid
setuptools.setup
self.base_url.endswith
PersonManager
RawQuery
set
MongoAggregate.__subclasses__
text.lower.lower
logging.error
_new_check_call_closure
super
connection.database.drop_collection
re.split
self._get_connection.get_collection
re.sub
os.path.join.strip
property
int
test_func
self.get_query_set.map_reduce
self._get_gridfs.put
self.get_raw_query_set
logging_wrapper
join
django.db.models.TextField
field.get_db_prep_save
self._get_query.get_cursor
django_mongodb_engine.contrib.MongoDBManager
isinstance
self._get_collection.rename
gridfs.get_last_version
django.db.models.query.QuerySet
django.conf.settings.INSTALLED_APPS.insert
TypeError
os.sep.path.replace.strip
sys.exit
app.split
DebugCursor
cmd.endswith
djangotoolbox.fields.DictField
self.format
_mongodbs.insert
self.GridFSString.super._property_get
django.db.models.signals.pre_delete.connect
getattr
django.db.models.PositiveIntegerField
hasattr
ValueError
django.db.models.DateTimeField
django_mongodb_engine.fields.GridFSField
_compiler_for_queryset
item.strip.strip
query.collection.inline_map_reduce
gridfsuploads.gridfs_storage.open
MapReduceResult.from_entity
i.str.rjust
gridfs.exists
self.is_managed
tokenizer.BaseTokenizer.kwargs.pop
django.conf.urls.defaults.url
BaseTokenizer.regex_split
collection.database.collection_names
open
warnings.warn
self.TestCase.super.setUp
django_mongodb_engine.storage.GridFSStorage
float
self._map_reduce_pypy_drop_collection_hack
self.collection_wrapper.profile_call
urlparse.urljoin
django.db.models.FileField
self._tokenizer.tokenize
utils.get_git_head
django.db.models.ManyToManyField
django_mongodb_engine.contrib.search.fields.TokenizedField
map
self.get_query_set.distinct
type.__new__
django.db.models.IntegerField
self._get_query
self._get_meta
INSTALLED_APPS.remove
connection.database.create_collection
self.log
django.db.models.TimeField
self.DebugCursor.super.__init__
Compiler
self.get_query_set
django.db.connections.get_collection
execute_python
str
djangotoolbox.fields.ListField
runtests
re.escape
gridfs.put
self._get_gridfs.delete
self.RawQuery.super.clone
tokens.append
name.rfind.startswith
self.GridFSField.super.contribute_to_class
comman_item.split
app.replace
django_mongodb_engine.fields.GridFSString
dict
meta_cls
query.collection.map_reduce.find
func
self.RawQuery.super.__init__
gridfs.new_file
self.collection_wrapper.log
main
open.read
query.get_cursor.distinct

@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