Re: [sympy] Re: Query Regarding Contributing towards Sympy

2019-09-08 Thread Oscar Benjamin
Graph theory has already been ruled out for SymPy: https://github.com/sympy/sympy/issues/8186 Most graph-theoretic algorithms are not symbolic and don't really have any connection to the symbolic manipulation that SymPy does. That being said there is plenty of scope to use graph theoretic

Re: [sympy] Coding guidelines

2019-09-08 Thread Oscar Benjamin
I should clarify that what I said is opinionated (my opinion in particular!) so it's possible others disagree. Certainly there is a lot of code in SymPy that doesn't follow the advice above. If we want a cached_property decorator then we can add this somewhere in sympy/utilities or perhaps

Re: [sympy] Coding guidelines

2019-09-08 Thread Rybalka Denys
Great, that is exactly what I've been trying to find! By the way, there is caching property decorator called `@cached_property`, that does exactly what you suggested. It is, however, not in the standard library (https://pypi.org/project/cached-property/). Maybe it would be beneficial to add it to

Re: [sympy] Re: Query Regarding Contributing towards Sympy

2019-09-08 Thread Gagandeep Singh (B17CS021)
In my opinion, SymPy is concerned about symbolic manipulation and mathematics. The topics you suggested will be more appropriate for a data structures and algorithms libraries. If other members agree on your suggestion, then feel free to draft a issue for further discussion. In addition, I see

Re: [sympy] Re: Query Regarding Contributing towards Sympy

2019-09-08 Thread Aizen
All Right. Topics such as Graph Theory( Creating Graph Data Structures, Standard Graph Algorithms such as BFS and DFS, Graph Analysis, Centrality and even trivial things such as checking if a degree sequence is a graphic or not, etc) Topology (Network Topology : Creating and testing). I am

Re: [sympy] Re: Query Regarding Contributing towards Sympy

2019-09-08 Thread Aizen
All Right. Topics such as Graph Theory( Creating Graph Data Structures, Standard Graph Algorithms such as BFS and DFS, Graph Analysis and even trivial things such as checking if a degree sequence is a graphic or not, etc) and Network Topology (Creating and testing). I am sorry for the delay

Re: [sympy] Coding guidelines

2019-09-08 Thread Oscar Benjamin
Preventing assignment isn't necessary for the internal workings of SymPy. The only advantage it has is potentially avoiding confusion for users. I don't particularly see users getting confused about this though (although maybe that's because of the widespread use of properties). What I think is

[sympy] Coding guidelines

2019-09-08 Thread Rybalka Denys
There are several ways to implement properties of sympy objects. The simplest one is: ``` def __new__(*args): obj = Basic(*args) obj.prop = 'some_property' ``` A slightly more complicated one is: ``` def __new__(*args): obj = Basic(*args) obj._prop = 'some_property' @property def