You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+23-17Lines changed: 23 additions & 17 deletions
Original file line number
Diff line number
Diff line change
@@ -6,9 +6,18 @@ PyDataStructs
6
6
About
7
7
-----
8
8
9
-
This project aims to be a Python package for various data structures in computer science. We are also working on the development of algorithms including their parallel implementations. To the best of our knowledge, a well-designed library/package which has covered most of the data structures and algorithms including their parallel implementation doesn't exist yet.
9
+
-**PyDataStructs**project aims to be a Python package for various data structures and algorithms (including their parallel implementations).
10
10
11
-
Once the software design becomes more stable after a few releases of this package in the near future, we also aim to provide APIs for the code in C++ and Java as well.
11
+
- We are also working on providing C++ backend via Python C-API for high performance use cases.
12
+
13
+
Why PyDataStructs?
14
+
-------------------
15
+
16
+
-**Single package for all your data structures and algorithms**
17
+
18
+
-**Consistent and Clean Interface** - The APIs we have provided are consistent with each other, clean and easy to use. We make sure of that before adding any new data structure or algorithm.
19
+
20
+
-**Well Tested** - We thoroughly test our code before making any new addition to PyDataStructs. 99 percent lines of our code have already been tested by us.
12
21
13
22
Installation
14
23
------------
@@ -43,23 +52,29 @@ For testing your patch locally follow the steps given below,
43
52
2. Run, `python3 -m pytest --doctest-modules --cov=./ --cov-report=html`. Look for, `htmlcov/index.html` and open it in your browser, which will show the coverage report. Try to ensure that the coverage is not decreasing by more than 1% for your patch.
44
53
45
54
For a good visualisation of the different data structures and algorithms, refer the following websites:
As we know Python is an interpreted language and hence is slow compared to C++, the most popular language for competitive programming. We still decided to use Python because the software development can happen at a much faster pace and it is much easier to test various software designs and APIs as coding them out takes no time. However, keeping the need of the users in mind, we will shift to C++ backend, which will happen quickly as we would be required to just translate the tested code rather than writing it from scratch, after a few releases with APIs available for all the languages.
66
+
- As we know Python is an interpreted language and hence executing programs in it is slower as compared to C++.
67
+
68
+
- We still decided to use Python because the software development can happen at a much faster pace and it is much easier to test various software designs and APIs as coding them out takes no time in Python.
69
+
70
+
- However, keeping the need of the users in mind, we are also working on providing a C++ backend, which will happen quickly as we would be required to just translate the tested code rather than writing it from scratch.
0 commit comments