pyaragorn 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pyaragorn might be problematic. Click here for more details.

Files changed (48) hide show
  1. pyaragorn-0.1.0/.gitignore +173 -0
  2. pyaragorn-0.1.0/.readthedocs.yaml +28 -0
  3. pyaragorn-0.1.0/CHANGELOG.md +15 -0
  4. pyaragorn-0.1.0/CMakeLists.txt +21 -0
  5. pyaragorn-0.1.0/CONTRIBUTING.md +42 -0
  6. pyaragorn-0.1.0/COPYING +674 -0
  7. pyaragorn-0.1.0/PKG-INFO +885 -0
  8. pyaragorn-0.1.0/README.md +175 -0
  9. pyaragorn-0.1.0/docs/.gitignore +1 -0
  10. pyaragorn-0.1.0/docs/Makefile +20 -0
  11. pyaragorn-0.1.0/docs/_static/bibtex/citation.bib +36 -0
  12. pyaragorn-0.1.0/docs/_static/css/main.css +27 -0
  13. pyaragorn-0.1.0/docs/_static/js/custom-icon.js +44 -0
  14. pyaragorn-0.1.0/docs/_static/json/switcher.json +7 -0
  15. pyaragorn-0.1.0/docs/api/gene.rst +9 -0
  16. pyaragorn-0.1.0/docs/api/index.rst +46 -0
  17. pyaragorn-0.1.0/docs/api/rna_finder.rst +8 -0
  18. pyaragorn-0.1.0/docs/api/tmrna_gene.rst +9 -0
  19. pyaragorn-0.1.0/docs/api/trna_gene.rst +9 -0
  20. pyaragorn-0.1.0/docs/conf.py +219 -0
  21. pyaragorn-0.1.0/docs/guide/changes.md +1 -0
  22. pyaragorn-0.1.0/docs/guide/contributing.md +1 -0
  23. pyaragorn-0.1.0/docs/guide/copyright.rst +7 -0
  24. pyaragorn-0.1.0/docs/guide/index.rst +19 -0
  25. pyaragorn-0.1.0/docs/guide/install.rst +99 -0
  26. pyaragorn-0.1.0/docs/guide/parallel.rst +60 -0
  27. pyaragorn-0.1.0/docs/index.rst +164 -0
  28. pyaragorn-0.1.0/docs/make.bat +35 -0
  29. pyaragorn-0.1.0/docs/requirements.txt +15 -0
  30. pyaragorn-0.1.0/include/aragorn.pxd +291 -0
  31. pyaragorn-0.1.0/pyproject.toml +110 -0
  32. pyaragorn-0.1.0/src/CMakeLists.txt +2 -0
  33. pyaragorn-0.1.0/src/aragorn/CMakeLists.txt +29 -0
  34. pyaragorn-0.1.0/src/pyaragorn/CMakeLists.txt +1 -0
  35. pyaragorn-0.1.0/src/pyaragorn/__init__.py +36 -0
  36. pyaragorn-0.1.0/src/pyaragorn/lib.pyx +715 -0
  37. pyaragorn-0.1.0/src/pyaragorn/tests/__init__.py +10 -0
  38. pyaragorn-0.1.0/src/pyaragorn/tests/data/CP001621.default.txt +95 -0
  39. pyaragorn-0.1.0/src/pyaragorn/tests/data/CP001621.fna.gz +0 -0
  40. pyaragorn-0.1.0/src/pyaragorn/tests/data/__init__.py +30 -0
  41. pyaragorn-0.1.0/src/pyaragorn/tests/fasta.py +86 -0
  42. pyaragorn-0.1.0/src/pyaragorn/tests/requirements.txt +1 -0
  43. pyaragorn-0.1.0/src/pyaragorn/tests/test_doctest.py +93 -0
  44. pyaragorn-0.1.0/src/pyaragorn/tests/test_rna_finder.py +69 -0
  45. pyaragorn-0.1.0/src/scripts/cmake/CythonExtension.cmake +118 -0
  46. pyaragorn-0.1.0/src/scripts/cmake/pystate_patch.h +10 -0
  47. pyaragorn-0.1.0/src/scripts/libraryfier.py +244 -0
  48. pyaragorn-0.1.0/vendor/aragorn/aragorn1.2.41.c +12439 -0
@@ -0,0 +1,173 @@
1
+
2
+ # Added manually
3
+
4
+ ### Cython ###
5
+
6
+ # Created by https://www.gitignore.io/api/python,c
7
+ # Edit at https://www.gitignore.io/?templates=python,c
8
+
9
+ ### C ###
10
+ # Prerequisites
11
+ *.d
12
+
13
+ # Object files
14
+ *.o
15
+ *.ko
16
+ *.obj
17
+ *.elf
18
+
19
+ # Linker output
20
+ *.ilk
21
+ *.map
22
+ *.exp
23
+
24
+ # Precompiled Headers
25
+ *.gch
26
+ *.pch
27
+
28
+ # Libraries
29
+ *.lib
30
+ *.a
31
+ *.la
32
+ *.lo
33
+
34
+ # Shared objects (inc. Windows DLLs)
35
+ *.dll
36
+ *.so
37
+ *.so.*
38
+ *.dylib
39
+
40
+ # Executables
41
+ *.exe
42
+ *.out
43
+ *.app
44
+ *.i*86
45
+ *.x86_64
46
+ *.hex
47
+
48
+ # Debug files
49
+ *.dSYM/
50
+ *.su
51
+ *.idb
52
+ *.pdb
53
+
54
+ # Kernel Module Compile Results
55
+ *.mod*
56
+ *.cmd
57
+ .tmp_versions/
58
+ modules.order
59
+ Module.symvers
60
+ Mkfile.old
61
+ dkms.conf
62
+
63
+ # Valgrind files
64
+ callgrind.out.*
65
+
66
+ # Memprofile
67
+ mprofile_*.dat
68
+
69
+ ### Python ###
70
+ # Byte-compiled / optimized / DLL files
71
+ __pycache__/
72
+ *.py[cod]
73
+ *$py.class
74
+
75
+ # C extensions
76
+
77
+ # Distribution / packaging
78
+ .Python
79
+ build/
80
+ develop-eggs/
81
+ dist/
82
+ downloads/
83
+ eggs/
84
+ .eggs/
85
+ lib/
86
+ lib64/
87
+ parts/
88
+ sdist/
89
+ var/
90
+ wheels/
91
+ pip-wheel-metadata/
92
+ share/python-wheels/
93
+ *.egg-info/
94
+ .installed.cfg
95
+ *.egg
96
+ MANIFEST
97
+
98
+ # PyInstaller
99
+ # Usually these files are written by a python script from a template
100
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
101
+ *.manifest
102
+ *.spec
103
+
104
+ # Installer logs
105
+ pip-log.txt
106
+ pip-delete-this-directory.txt
107
+
108
+ # Unit test / coverage reports
109
+ htmlcov/
110
+ .tox/
111
+ .nox/
112
+ .coverage
113
+ .coverage.*
114
+ .cache
115
+ nosetests.xml
116
+ coverage.xml
117
+ *.cover
118
+ .hypothesis/
119
+ .pytest_cache/
120
+
121
+ # Translations
122
+ *.mo
123
+ *.pot
124
+
125
+ # Scrapy stuff:
126
+ .scrapy
127
+
128
+ # Sphinx documentation
129
+ docs/_build/
130
+
131
+ # PyBuilder
132
+ target/
133
+
134
+ # pyenv
135
+ .python-version
136
+
137
+ # pipenv
138
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
139
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
140
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
141
+ # install all needed dependencies.
142
+ #Pipfile.lock
143
+
144
+ # celery beat schedule file
145
+ celerybeat-schedule
146
+
147
+ # SageMath parsed files
148
+ *.sage.py
149
+
150
+ # Spyder project settings
151
+ .spyderproject
152
+ .spyproject
153
+
154
+ # Rope project settings
155
+ .ropeproject
156
+
157
+ # Mr Developer
158
+ .mr.developer.cfg
159
+ .project
160
+ .pydevproject
161
+
162
+ # mkdocs documentation
163
+ /site
164
+
165
+ # mypy
166
+ .mypy_cache/
167
+ .dmypy.json
168
+ dmypy.json
169
+
170
+ # Pyre type checker
171
+ .pyre/
172
+
173
+ # End of https://www.gitignore.io/api/python,c
@@ -0,0 +1,28 @@
1
+ # Read the Docs configuration file for Sphinx projects
2
+ # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
3
+
4
+ # Required
5
+ version: 2
6
+
7
+ # Set the OS, Python version and other tools you might need
8
+ build:
9
+ os: ubuntu-22.04
10
+ tools:
11
+ python: "3.13"
12
+
13
+ # VCS submodules configuration.
14
+ submodules:
15
+ include: all
16
+
17
+ # Build documentation in the "docs/" directory with Sphinx
18
+ sphinx:
19
+ configuration: docs/conf.py
20
+
21
+ # Optional but recommended, declare the Python requirements required
22
+ # to build your documentation
23
+ # See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
24
+ python:
25
+ install:
26
+ - requirements: docs/requirements.txt
27
+ - method: pip
28
+ path: .
@@ -0,0 +1,15 @@
1
+ # Changelog
2
+ All notable changes to this project will be documented in this file.
3
+
4
+ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
5
+ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
6
+
7
+
8
+ ## [Unreleased]
9
+ [Unreleased]: https://github.com/althonos/pyaragorn/compare/v0.1.0...HEAD
10
+
11
+
12
+ ## [v0.1.0] - 2025-05-27
13
+ [v0.1.0]: https://github.com/althonos/pyaragorn/compare/239956f...v0.1.0
14
+
15
+ Initial release.
@@ -0,0 +1,21 @@
1
+ cmake_minimum_required(VERSION 3.20)
2
+ project(${SKBUILD_PROJECT_NAME} VERSION ${SKBUILD_PROJECT_VERSION} LANGUAGES C)
3
+
4
+ set(BUILD_SHARED_LIBS OFF)
5
+ set(CMAKE_POSITION_INDEPENDENT_CODE ON)
6
+
7
+ set(ARAGORN_VERSION "1.2.41")
8
+
9
+ # --- Setup Cython -------------------------------------------------------------
10
+
11
+ set_property(GLOBAL PROPERTY PYTHON_EXTENSIONS_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src)
12
+ set(CYTHON_HEADERS_DIR ${CMAKE_CURRENT_LIST_DIR}/include)
13
+ include(src/scripts/cmake/CythonExtension.cmake)
14
+
15
+ # --- Set ----------------------------------------------------------------------
16
+
17
+ set(ARAGORN_C ${CMAKE_CURRENT_LIST_DIR}/vendor/aragorn/aragorn${ARAGORN_VERSION}.c)
18
+
19
+ # --- Compile code -------------------------------------------------------------
20
+
21
+ add_subdirectory(src)
@@ -0,0 +1,42 @@
1
+ # Contributing to PyARAGORN
2
+
3
+ For bug fixes or new features, please file an issue before submitting a
4
+ pull request. If the change isn't trivial, it may be best to wait for
5
+ feedback.
6
+
7
+ ## Coding guidelines
8
+
9
+ ### Versions
10
+
11
+ This project targets Python 3.7 or later.
12
+
13
+ Python objects should be typed; since it is not supported by Cython,
14
+ you must manually declare types in type stubs (`.pyi` files). In Python
15
+ files, you can add type annotations to function signatures (supported in
16
+ Python 3.5) and in variable assignments (supported only from Python
17
+ 3.6 onward).
18
+
19
+ ### Interfacing with C
20
+
21
+ When interfacing with C, and in particular with pointers, use assertions
22
+ everywhere you assume the pointer to be non-NULL. Also consider using
23
+ assertions when accessing raw C arrays, if applicable.
24
+
25
+ ## Setting up a local repository
26
+
27
+ Just clone the project repository to get all the required files:
28
+
29
+ ```console
30
+ $ git clone https://github.com/althonos/pyaragorn
31
+ ```
32
+
33
+ ## Running tests
34
+
35
+ Tests are written as usual Python unit tests with the `unittest` module of
36
+ the standard library. Running them requires the extension to be built
37
+ locally:
38
+
39
+ ```console
40
+ $ python -m pip install -v -e . --no-build-isolation
41
+ $ python -m unittest -vv pyaragorn.tests
42
+ ```