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

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

Project dependencies may have API risk issues #145

PyDeps opened this issue Oct 27, 2022 · 0 comments

Comments

@PyDeps
Copy link

PyDeps commented Oct 27, 2022

Hi, In neo4j-rest-client, inappropriate dependency versioning constraints can cause risks.

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

requests>=2.2.0
lucene-querybuilder>=0.2
lockfile>=0.9.1
CacheControl>=0.9.2

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 requests can be changed to >=0.8.0,<=2.24.0.
The version constraint of dependency requests can be changed to ==2.26.0.
The version constraint of dependency CacheControl can be changed to >=0.12.0,<=0.12.12.

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 requests
requests.Session
The calling methods from the CacheControl
cachecontrol.caches.FileCache
The calling methods from the all methods
orders.append
item.get_value.properties
func.type
self.rollback
neo4jrestclient.utils.rewrites
self._url.rsplit
operation.get_object.update
cls._elements_graph.append
setuptools.setup
cachecontrol.caches.FileCache
get_ipython
self._and.get_query_objects
self._parse_types
self._dic.get
weakref.ref
self.create
self.__getattr__
self._json_encode.items
neo4jrestclient.query.QueryTransaction
open
reversed
response.json.pop
self.template.replace
request_url_and_key.text_type.encode
hasattr
self.operations.append
warnings.warn
_func
neo4jrestclient.utils.text_type
enumerate
self.klass_name.keys
requests.Session
format
referenced_object.change
s.decode
self._dict.keys
self._json_encode.strftime
url_string.replace.replace
to
TypeError
self._extensions.keys
self._and.is_valid
i.self.operations.update
QuerySequence.cast
query_format.format
Index._get_results
props.copy
self._uniqueness
relationship.get
urllib.parse.urlparse
pickle.loads
self._findall
self._dic.viewitems
set.pop
self._dic.__iter__
self._nodes.create
join.filter
cls
self.__dict__.items
dict.__getitem__
self.get_query_objects
self._get_lookup_and_match
self._node._create_relationship
self._auth.Request.post
self._strftime
tx.execute
node_dict.get
tuple
QuerySequence
object.__getattribute__.__setitem__
self._parse_parameters
dic.get
_any.append
logging.getLogger.setLevel
ValueError
RelationshipsProxy
casted_row.append
object.__repr__
self._request
range
auth.get
rnames.__file__.os.path.dirname.os.path.join.open.read
attr.self.object.__getattribute__
self.uniqueness
self._discard
attr.property.direction.property.object.type
self._not.get_query_objects
self._object_ref
element.get
attr.self.object.__getattribute__.getattr
object.__getattribute__.__getitem__
self.references.append
neo4jrestclient.query.CypherException
query_format.format.format
self._results_list_to_dict
params.update
self.__len__
BaseQ._make_not
self.VERSION.split
self._auth.Request.put
cachecontrol.CacheControl
sub_func
self._dic.replace
self._auth.Request.get
len
state.items
response.json.copy
pickle.Unpickable
dict.__setitem__
links.append
response.json.items
self._label.replace
globals
relationship_name.node_from.getattr
func
obj.items
Transaction.get_transaction.append
self._label.__repr__
self._auth.Request.delete.json
callable
dict
self._label.__hash__
self._or.is_valid
referenced_object
cls._elements_row.append
neo4jrestclient.labels.LabelsProxy
kwargs.items
self.property.text_type.replace
result.get
nodes.update
rewrites
self.start_node.traverse
auth.Request.get
getattr
self._class
self.TransactionException.super.__init__
BaseQ._make_and
self._execute
response.json.get
self._transform_graph_to_d3
set
self._dict.values
traverse_params.append
Base._safe_string.replace
start_node.traverse
dict.__getitem__.split
node.get
result_data_contents.append
node.labels.add
self._iterable.append
self._dic.encode
operation
self.__str__
self.keys
Base._safe_string
self.relationships_append
item.get_value.get_value
set.update
self._create_relationship
neo4jrestclient.request.Request.delete
ip.config.get
setattr
self._url.replace
self._auth.Request.delete
self.get
self._data.append
dict.__getitem__.update
BaseQ._make_or
uuid.uuid1
property
data.split
Path
Transaction.get_transaction
neo4jrestclient.utils.in_ipnb
neo4jrestclient.options.URI_REWRITES.items
self.get_response
BaseInAndOut
self.url.split
Label
Base._safe_string.startswith
self.FilterSequence.super.__getitem__
self._dic.replace.replace
self._relationships.append
self._dic.update
dt.strftime
ExtensionsProxy
self._plot_graph
Traversal.description
urllib.parse.quote
neo4jrestclient.utils.get_auth_from_uri
self.order
date_type.upper
self._illegal_s.search
self.FilterSequence.super.__init__
self._dic.items
datetime.datetime.strptime
Q.get_query_objects
self.Iterable.super.__init__
read
self.Iterable.super.__getitem__
self._auth.get.split
Index
self._or.get_query_objects
neo4jrestclient.exceptions.TransactionException
os.path.dirname
isinstance
PaginatedTraversal
self._index_for.capitalize
self.commit
self._nodes.append
data.update
int
neo4jrestclient.traversals.TraversalDescription
json.dumps
neo4jrestclient.utils.smart_quote
object.__setattr__
self.NotFoundError.super.__init__
v.replace
self.__next__
ip.config.get.get
data.copy
self._batch
self._node.rpartition
self._index_for.capitalize.capitalize
self.Iterable.super.__getslice__
cachecontrol.cache.DictCache
_dict
self._escape
neo4jrestclient.request.Request.post
q1.__class__
self._begin
self.statements.append
neo4jrestclient.query.FilterSequence
self._class.flush
self._endpoint.replace
_process_data_contents
neo4jrestclient.iterable.Iterable
node.get.keys
self.__unicode__
object.__getattribute__
kwargs.get
IndexesProxy
safe_name.self._node.getattr
_list
self.transaction
self.__setitem__
self._labels.add
self._description.traverse
property.append
index_properties.items
config.pop
self._dict.items
Base._safe_string.get_value
set.add
Relationships
NotImplementedError
iter
neo4jrestclient.labels.NodeLabelsProxy
i.self.operations
Transaction
Extension
object.__getattribute__._class
self.__delitem__
neo4jrestclient.exceptions.NotFoundError
cast_element.append
KeyError
self.TransactionOperationProxy.super.__init__
type
operation.get_object
sites.append
url_string.replace
hash
key.self.template.replace.replace
str
self._update_dict_data
self._auth.get
pickle.dumps
Relationship
_any
ExtensionModule
tx.append
IndexKey
Exception
bool
method.lower.lower
data_contents.lower
self._json_encode
_relationship
Q
self.request
Position
self.to_html
kwargs.update
self.__getitem__
cast_element
neo4jrestclient.utils.unquote
kwargs.pop
self._update_labels
logging.basicConfig
format.append
NodesProxy
list
matchs.append
logging.getLogger
self._auth.update
neo4jrestclient.exceptions.StatusException
self._labels.copy
self._manage_errors
val.encode
NameError
self._transactions.keys
self._labels.pop
response.headers.get
relationship_name.self._node._create_relationship
item
elements_filter
Node
self.url.rsplit
self
Traverser
os.path.join
starts.append
unicode
self._get_dict
self._update
join
TransactionOperationProxy
neo4jrestclient.request.Request
self._labels.remove
re.compile
time.strftime
date_type.format.s.datetime.strptime.getattr
self.update
url_string.replace.startswith
super
self.filter
request.delete.get
self.__unicode__.encode
ImportError
self._get_elements
func.lower
neo4jrestclient.query.QuerySequence
ip.config.get.get.lower
url_string.replace.endswith
text.find
types.get
self.get.query
self._auth.Request.post.json
CypherException
types.keys
ref_object
self._execute.append
request.delete.json
method.session.getattr
__import__
dt.timetuple
Index._filter

@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