MongoEngine/mongoengine

Project dependencies may have API risk issues

PyDeps opened this issue · 1 comments

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

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

Sphinx==3.3.0
sphinx-rtd-theme==0.5.0
readthedocs-sphinx-ext==2.1.1
docutils==0.17.1
Jinja2<3.1

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 sphinx-rtd-theme can be changed to >=0.1.3,<=1.0.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 sphinx-rtd-theme
sphinx_rtd_theme.get_html_theme_path
The calling methods from the all methods
document._delta
super.put
mongoengine.base.BaseDict
bson.SON
separator.join
object_id.queryset.filter.first
cls._get_db.create_collection
mongoengine.base.common.get_document._unique_with_indexes
sys.exit
query.self._qs.filter.update_one
self._document
self._cursor_obj.skip
self._format_errors
self.BaseDocument.super.__hash__
join
kwargs.pop
self._document._translate_field_name
document_cls.objects.count
i.self.children.accept
StringField.prepare_query_value
set.update
self.slice.keys
f.document_type._cached_reference_fields.append
doc_cls._disconnect
collection.options.get
document._meta.get
self.document_type._get_db.dereference
self.document_type.to_mongo
queryset._cursor_obj.skip
frozenset
self.field.lookup_member
_geo_operator
ListField
self.build_lazyref.strip
_get_items_from_dict.items
bson.int64.Int64
self._populate_cache
self.rewind
eval
cls._db_field_map.get
self.__dict__.copy
mongoengine.base.get_document._get_db
self._has_data
io.BytesIO
_get_items_from_list
tuple
operator_map.get
uuid.UUID
getattr._clear_changed_fields
f.split
bson.DBRef
self._data.get
self.db.command
warnings.warn
queryset._document._translate_field_name
list.items
mongoengine.context_managers.switch_collection
doc_cls._get_db.dereference
self._sub_js_fields
self.validate
self.document_type.__subclasses__
base_cls._get_collection
id_field.self._fields.to_python
instance
bytes
super.__setattr__
self._validate_polygon
self._cursor_obj.batch_size
mongoengine.signals.pre_init.send
self._result_cache.append
collection.get_db.find
value.to_dbref.strftime
value
self.update
mongoengine.base.fields.ObjectIdField
self.document_type._get_collection_name.find_one
instance._fields.get._from_son
mongoengine.connect
self.to_mongo.copy
queryset._cursor.distinct
queryset._cursor_obj.sort
self.__expand_dynamic_values
self.clean
operator.itemgetter
initial_pipeline.append
doc._data.pop
existing.append
self.document_type._fields.get
connection_class
super.prepare_query_value
doc_fields.items
queryset._cursor_obj.hint
field.prepare_query_value
self.build_lazyref.to_mongo
merge_index_specs.append
self.clone._fields_to_dbfields
index_spec.copy.copy
items.get_document._from_son
self._attach_objects
mongoengine.signals.post_init.send
self._dereference
ref.get_document._from_son
unique_indexes.append
func
value.split.lower
read_pf_mode.lower.lower
alias._connection_settings.copy
_document_registry.get
PIL.ImageOps.fit.copy
field.to_mongo
attrs.get
_get_connection_settings
mongoengine.signals.post_delete.has_receivers_for
self.USER_REGEX.match
doc_type._fields.get
self.clone.rewind
field_list.update
PIL.ImageOps.fit.thumbnail
field.choices.dict.get
_prepare_query_for_iterable
self.build_lazyref.split
bson.ObjectId.to_mongo
data._get_changed_fields.split
super_new
TextPost
mongoengine.signals.pre_delete.send
delattr
v._get_collection_name
self._document._from_son
kwargs.keys
self._cursor_obj.hint
wc_collection.insert_one
source.items
strip
GridFSError
self._cursor_obj.sort
mongoengine.context_managers.switch_db
blinker.Namespace
self._iter_results
self._chainable_method
os.path.abspath
wc_collection.find_one_and_replace
set.item.collection.reference_map.setdefault.add
int
new_options.items
self.clone.filter
self._fetch_objects
datetime.datetime
self.build_lazyref.quantize
getattr.validate
mcs._import_classes
getattr.items
doc.__class__.objects.as_pymongo.get
super.count
match.group
_find_existing_connection
cls.__match_all
key.split.insert
re.compile
_infer_geometry
sphinx_rtd_theme.get_html_theme_path
self.__unicode__
attrs.items
self.choices.append
mongoengine.base.common.get_document
attrs.pop
pymongo.uri_parser.parse_uri
self.clone
mongoengine.pymongo_support.list_collection_names
pymongo.database._check_name
pymongo.common.validate_read_preference
self._fields.items
weakref.proxy
mongoengine.errors.DoesNotExist
mongoengine.signals.pre_save.send
Q
cls._lookup_field.pop
map
self.cls._fields.items
mongoengine.queryset.transform.update
self.document_type._get_collection_name.find_one_and_update
get_classes
index_spec.copy.pop
self._meta.get
self.document_type._from_son
missing.remove
ref_cls._get_db.dereference
QuerySetManager
info.get.keys
mongoengine.errors.InvalidDocumentError
self._get_collection
self._lookup_field
self.UTF8_USER_REGEX.match
bson.json_util.LEGACY_JSON_OPTIONS.with_options
other.items
super_new.mro
insert_func
NotImplementedError
bool
queryset._document._get_collection_name.delete_many
field_classes.reverse
x.capitalize
self.get_finalized_command
settings.copy
k.merge_query.append
disconnect
mongoengine.base.datastructures.EmbeddedDocumentList
self.fields
os.path.join
self.build_lazyref.items
mongoengine.signals.pre_save_post_validation.send
mongoengine.base.get_document
base.getattr.get
self.exec_js
self._nestable_types_changed_fields
self.build_lazyref
subcls._lookup_field._validate
self.fs.new_file
self._dynamic_fields.get
instance._data.get.delete
fields.self._object_key.ReadPreference.PRIMARY.self._qs.read_preference.filter.only.limit
key.split.isdigit
MetaDict.get
self._document._fields.get
index_opts.copy.update
update.items
field.field.lookup_member
self.field._to_mongo_safe_call
mongo_query.keys
cls._get_collection.index_information
BaseDict
GenericReferenceField
mongo_query.update
b._meta.get
key.mongo_update.update
mongoengine.errors.NotRegistered
self._integrate_shard_key
self.build_lazyref.update
QueryCompilerVisitor
collection
cls._meta.get.copy
mongoengine.context_managers.set_write_concern
mongoengine.errors.SaveConditionError
db.list_collection_names
field_cls._geo_indices
cleaned_fields.append
cls._build_index_spec
l.startswith
img.copy.save
self.field._to_mongo_safe_call.items
mongoengine.connection.get_connection
base_cls._meta.get
super.__getstate__
super.__setstate__
self.clone._get_order_by
socket.inet_pton
mongoengine.errors.NotUniqueError
spec_fields.get.update
TextPost.save
re.match
QCombination
self.document_type._get_collection_name
super.__set__
rename_fields.get
blinker.Namespace.signal
self._validate_linestring
queryset._cursor_obj.collation
kwargs.update
mongoengine.base.datastructures.StrictDict.create
self.newfile.close
cls._get_db
self._data.get.save
hasattr
doc_cls._unique_with_indexes
self.build_lazyref.keys
setuptools.command.test.test.initialize_options
collection.get_db.find.items
name.startswith
v.generate_key.error_dict.append
super.__setitem__
os.path.dirname
unique_with.append
mcs.get_auto_id_names
self._combine
spec.copy.copy
data.items.get
self._clean_slice
StringField
values.pop
setattr
set.add
self._delta
any
self.__only_matches
self._type.lower
fields.code.db.command.get
mongoengine.base.utils.LazyRegexCompiler
query.accept.accept
all
key.split.pop
self._changed_fields.append
reversed
list.split
self._get_count
k.startswith
op.lstrip.lstrip
new_class._fields.values
mongoengine.base.get_document._get_collection_name
info.info.db.client.find
self._qs.filter
mongoengine.connection.get_connection.server_info
self.newfile.writelines
info.get
self.validation
owner._class_name.c.c.c.c.isupper.join.strip.lower
document.to_mongo
d.get.get
self._get_scalar
super.__init__
self.fs.put
f.start_listener
cls
mongoengine.base.common.get_document.__subclasses__
name.c.c.c.c.isupper.join.strip
pytest.skip
self._reload
pymongo.read_preferences.ReadPreference.PRIMARY.self._qs.read_preference.filter
self._object_key.self._qs.filter.delete
mongoengine.base.BaseList
self.to_mongo.to_query
cls.__subclasses__
DuplicateQueryConditionsError
self._clone_into
bson.ObjectId
subcls._lookup_field.to_python
self._fields_to_dbfields
self.document_type.validate
mongoengine.queryset.visitor.Q
self.instance._mark_as_changed
super._validate_choices
bson.Binary
ImproperlyConfigured
self.get
queryset._document._get_db.command
cls._get_collection.options
key_starts_with_dollar
get_doc_alias
ValueError
subcls._lookup_field.startswith
mongoengine.common._import_class.to_mongo
self.proxy_class
field_names.items
merge_index_specs
self.clone.first
cls._meta.get
pkg_resources.normalize_path
set.field.document_type.reference_map.setdefault.add
img.info.get
self._item_frequencies_map_reduce
self.fs.get
self.error
self._set_owner_document
cls._get_db.drop_collection
index_list.insert
output.get
collection.find_one.items
document_cls.objects.delete
mongoengine.base.EmbeddedDocumentList
name.split
hash
self._object_key.self._qs.filter.update_one
domain_part.encode.decode
BaseList
KeyError
itertools.zip_longest
re.escape
d._reverse_db_field_map.get.isdigit
self._parse_datetime
self.DOMAIN_REGEX.match
bson.code.Code
self.__dict__.copy._get_collection
self.clone._sub_js_fields
queryset._document._get_collection_name.aggregate
entity.startswith
self._document._get_collection
generate_key
self.document_type.id.to_python
join.items
data.items.items
User.save
cls._get_collection
build_dict
self.new_file
time.strptime
mongoengine.errors.FieldDoesNotExist
functools.partial
errors_dict.items
self._document._from_son.delete
str
self.field.to_python
gridfs.GridFS
mongoengine.base.common.get_document._lookup_field
format
set.key.reference_map.setdefault.update
cls._fields.items
self.__class__
self._cursor.rewind
value_dict.update
super.__delattr__
open
self._cursor_obj.comment
mongoengine.queryset.field_list.QueryFieldList
get_connection
self.accept
mark_key_as_changed_wrapper
sorted
value_dict.items
document_cls._meta.get
_get_items_from_dict
self.__call__
ConnectionFailure
DictField
parent_method
self.document_type._get_db
mongoengine.base.common.get_document._geo_indices
repr_type
bson.dbref.DBRef
self._get_collection_name
isinstance
PIL.ImageOps.fit
self.build_lazyref.rsplit
self.children.append
queryset._cursor_obj.batch_size
k.endswith.pop
issubclass
doc._meta.get
collection._get_collection_name
mongoengine.base.get_document.append
super.to_python
subcls._lookup_field.generate
getattr.join
filter
item._fields.items
db.collection_names
pickle.dumps
pymongo.read_concern.ReadConcern
self.fetch
f.document_type.register_delete_rule
key.merge_query.append
field.to_python
v.to_python
self._db_field_map.get
cls._geo_indices.append
LinkPost
mongoengine.signals.pre_bulk_insert.send
self._cursor_obj.collation
kwargs.setdefault
self.fs.delete
collection.split
super.validate
kwargs.get
self.field.prepare_query_value
klass._meta.get
resolved_hosts.append
mongoengine.base.common.get_document._from_son
instance._data.get
GridFSProxy
cls._fields.values
BasesTuple
join.rsplit
queryset._collection.find_one_and_update
owner._get_collection
mcs.__get_bases
mongoengine.pymongo_support.count_documents
dict
mongoengine.base.get_document._from_son
EmbeddedClass
_create_connection
super.__get__
mongoengine.base.BaseList.items
subcls._lookup_field.to_mongo
dynamic_data.items
mongoengine.base.datastructures.BaseDict
self.validate_domain_part
base.__dict__.items
document.document_type._get_collection_name
ref_cls._get_db
DeReference
self._name.self._instance.remove
self.clone.all_fields
cls._get_collection.create_index
dir
mongo_query.extend
mongoengine.signals.post_save.connect
_connections.keys
self.value_decorator
collection.with_options
QuerySet
self._object_key.ReadPreference.PRIMARY.self._qs.read_preference.filter.only
self._find_references
op.join
entity.replace
self._get_order_by
super
self.generate
self.regex.match
subcls._lookup_field.lookup_member
self.cascade_save
super.to_mongo
cls._connection.drop_database
son.items
IntField
mcs._get_bases
visitor.visit_combination
kwargs.get.append
_field_list_cache.extend
tuple.get
setuptools.command.test.test.finalize_options
register_connection
self.get.read
self.db.system.profile.drop
collection.objects.in_bulk
self.clone.order_by
mongoengine.base.LazyReference
super.__getitem__
field_names.get
self.to_dict.items
del_modules.append
LinkPost.save
dict.update
self.field_name.document_cls.objects.update
self.clone._get_scalar
self.__copy__
copy.copy
collections.defaultdict
self.to_dict
mongoengine.queryset.OperationError
preference.name.lower
join.startswith
self._cursor_obj.limit
repr
self._instance._mark_as_changed
EmbeddedDocumentList
self._cursor.explain
warn_empty_is_deprecated
queryset._document.MultipleObjectsReturned
part.isdigit
mongoengine.signals.post_bulk_insert.send
mongoengine.errors.BulkWriteError
self.validate_user_part
getattr._get_changed_fields
get_version
data._reverse_db_field_map.get
getattr.get
cls._get_collection.index_information.values
changed_fields.append
self.owner_document.objects
self.db_field.startswith
getattr
self._cursor_obj.where
mongoengine.connection.disconnect_all
mongoengine.queryset.QuerySetManager
_class_registry_cache.get
mongoengine.errors.ValidationError
dict.pop
self._document._lookup_field
self._document._translate_field_name.split
mongoengine.mongodb_support.get_mongodb_version
_connections.get
User
self.to_python
invalid_choices.append
mongoengine.errors.LookUpError
_decorated_with_ver_requirement
img.copy.thumbnail
pymongo.write_concern.WriteConcern
parent_doc_cls._meta.get
base._meta.get
self._collection.with_options
self._qs
self._document._translate_field_name.replace
settings_dict.items
self.get_proxy_obj
son.get
self._document.objects.with_id
next
p.isdigit
key.split.reverse
mongoengine.base.common.get_document._build_index_spec
self.url_regex.match
fin.read
self._collection.find
mongo_update.update
mongoengine.errors.OperationError
self.get_sequence_name
bson.ObjectId.items
collection.find_one.split
query
self.in_bulk.get
combined_query.update
self.delete
filter_kwargs.self.owner_document.objects.update
PIL.ImageOps.fit.save
document._delta.items
key.lower
mongoengine.errors.DeprecatedError
self.__class__._meta.get
property
self.__dict__.update
self.build_lazyref.validate
includes_cls
queryset._collection.find_one_and_delete
sys.path.insert
wc_collection.update_one.get
DateTimeField
mark_as_changed_wrapper.items
default
sum
bson.ObjectId.keys
self.__class__._get_collection_name
dateutil.parser.parse
instance._mark_as_changed
self._cursor_obj.clone
doc_cls._meta.get
mongoengine.queryset.NotUniqueError
dict.get
self.__getattribute__
query.accept.keys
self.__getitem__
index_list.append
setuptools.find_packages
self.field._validate
AttributeError
self._convert_from_string
_check_db_name
self.__str__
self._validate_point
new_items.append
values.keys
float.items
self._put_thumbnail
self.test_args.split
mongoengine.signals.post_delete.send
self._item_frequencies_exec_js
self.build_lazyref.get
owner._meta.get
subcls._lookup_field.split
list
attrs.update
cls.ensure_indexes
self._loaded_fields.as_dict
method_name.cursor.getattr
Post.objects.count
self.reference_map.items
set.item.get_document.reference_map.setdefault.add
self._save_create
itertools.count
owner._get_collection_name
queryset._document._from_son
document_choice.__subclasses__
doc.__class__.objects.as_pymongo
range
obj._data.get
other_name.split
subclass._get_collection
d._reverse_db_field_map.get
object.__getattribute__
mongoengine.context_managers.set_read_write_concern
_FakeSignal
self._name.self._instance.append
ref_cls._from_son
self.get_queryset
self.__getstate__
collections.defaultdict.items
self._mongo_query.update
self._enum_cls
self.__set_field_display
QuerySetNoCache
set_data.items
i.startswith
mark_as_changed_wrapper
mongoengine.signals.post_delete.connect
set
self._fields.keys
mongoengine.queryset.transform.query
TypeError
collection.read_concern.document.items
db_field_paths.append
self.DoesNotExist
id_field_type
data.append
oper
set.intersection
self.__class__._from_son
bson.ObjectId.to_python
self.items
reference_map.setdefault
FileField
domain_part.encode.decode.encode
_document_registry.values
query.self._qs.modify
self._get_changed_fields
lookup
v.to_mongo
self.as_pymongo
itertools.groupby
docs.sort.sort
self.document_type.objects.get
collection.find
BaseDocument._nestable_types_clear_changed_fields
zip
mongoengine.get_version
inspected.append
document._get_collection_name
self.build_lazyref.decode
document_cls.objects.limit
mongoengine.errors.InvalidQueryError
self._lazy_load_ref
self.to_mongo.update
item._data.get
data.items._get_changed_fields
cls._lookup_field.items
join.split
update_func
cls.create_index
self._qs.read_preference
self.put
self._lazy_load_refs
subcls._lookup_field
seen.append
lookup.items
key.instance._data.put
super_new._build_index_specs
self.clone._dereference
owner._class_name.c.c.c.c.isupper.join.strip
extra_args.items
pymongo.uri_parser.parse_uri.get
d._fields.get
new_class._fields.items
self.build_lazyref.to_dbref
alias.get_connection.close
_doc_cls._lookup_field
queryset.order_by.limit
self._document._from_son.to_mongo
setuptools.setup
i.replace
queryset_class
visitor.visit_query
mongoengine.base.datastructures.BaseList
super.__iter__
match.group.split
mongoengine.errors.MultipleObjectsReturned
collection.count_documents
type
result.db.find
Post.objects
io.BytesIO.seek
_clean_settings.pop
self.field.build_lazyref
pipeline.insert
InvalidCollectionError
self._instance.save
class_name.append
self._query_obj.to_query
key_not_string
len
BaseDocument._nestable_types_changed_fields
pytest.main
name.self.getattr.delete
RuntimeError
self._query_conjunction
copied.__dict__.update
connect
self._clear_changed_fields
self._document._get_collection.aggregate
float.values
new_class._meta.get
k.split
data.get.keys
iter
subdoc._lookup_field
self.order_by
cls.list_indexes
callable
cls._get_collection_name
self._get_update_doc
collection.doc_type._get_db.find
fields.self._object_key.ReadPreference.PRIMARY.self._qs.read_preference.filter.only.limit.select_related
self.__eq__
self._turn_on_profiling
MetaDict.merge
EmbeddedDocumentField
DynamicField
name.c.c.c.c.isupper.join.strip.lower
kwargs.self._document.save
MapReduceDocument
mongoengine.common._import_class
wc_collection.update_one
c.startswith
_connection_settings.items
values.items
super.delete
Exception
self._resets_profiling
bson.json_util.dumps
self._mark_as_changed
k.data._data.get
value_dict.get
self.ensure_indexes
getattr.to_mongo
bson.json_util.loads
cls._lookup_field.append
data.items.pop
set.v.get_document.reference_map.setdefault.add
key_list.append
field.self._fields_to_dbfields.pop
new_path.append
float
validate
k.endswith
collection.split.x.x.capitalize.join.get_document._from_son
self.object_map.get
remove
PIL.Image.open
_clean_settings
copy.deepcopy
instance._fields.get
op.lstrip.startswith
self._fields.get
instance._fields.get._get_db
self.fields.union
re.sub
inspect.isclass
self.in_bulk
mongoengine.signals.pre_delete.has_receivers_for
datetime.date
self.map_reduce
collection.write_concern.document.items
cursor_method
self._validate_choices
db.authenticate
self._document._meta.get
queryset._cursor_obj.limit
SimplificationVisitor
cls._get_capped_collection
self.scalar
self._save_update
print
ReferenceField
mongoengine.base.common._get_documents_by_db
queryset._document._get_collection_name
self._fields_ordered.StrictDict.create
self.to_mongo
index_spec.copy.update
super.__getattribute__
d.items
kwargs.items
cursor_method.count
MetaDict
field_classes.index
doc_fields.values
ordered_output.append
_get_items_from_dict.values
self.__dict__.copy.pop
spec.copy.pop
enumerate
queryset._document._get_db
document_cls.objects
errors.append
get_indexes_spec
Post.drop_collection
list_type
self.document_type._meta.get
key.mongo_query.update
doc_fields.update
types.get
decimal.Decimal
_dereference
refs.limit.count
_clean_settings.update
self._read_concern.self._read_preference.self._collection.with_options.find
indexes.append
self.clone.only
mongoengine.connection.get_db
mongoengine.signals.post_save.send
self._convert_from_datetime
key.split.append
self.newfile.write
c.isupper
queryset._document.DoesNotExist

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

Hi, these things are used only during development and aren't installed when MongoEngine gets installed so I don't think something is wrong with a strict pinning here.

Thanks for your interest though