summaryrefslogtreecommitdiff
path: root/python-pycallgraph2.spec
blob: 32d46e07c732135761a31e5a29f426b35bf3f2a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
%global _empty_manifest_terminate_build 0
Name:		python-pycallgraph2
Version:	1.1.3
Release:	1
Summary:	Python Call Graph is a Python module that creates call graph visualizations for Python applications.
License:	GNU GPLv2
URL:		https://github.com/daneads/pycallgraph2
Source0:	https://mirrors.nju.edu.cn/pypi/web/packages/4b/dc/1f4a1d41daa3ae1a4f8d73f5cc9b1b99a13ad95304d5e5f0f6860abb2b15/pycallgraph2-1.1.3.tar.gz
BuildArch:	noarch


%description
[![CircleCI](https://circleci.com/gh/daneads/pycallgraph2.svg?style=svg)](https://circleci.com/gh/daneads/pycallgraph2)

# Python Call Graph

Note: This is a fork of the original [pycallgraph](https://github.com/gak/pycallgraph) since it became unmaintained.

Welcome! pycallgraph2 is a [Python](http://www.python.org) module that creates [call graph](http://en.wikipedia.org/wiki/Call_graph) visualizations for Python applications.

## Project Status

The project lives on [GitHub](https://github.com/daneads/pycallgraph2), where you can [report issues](https://github.com/daneads/pycallgraph2/issues), contribute to the project by [forking the project](https://help.github.com/articles/fork-a-repo) then creating a [pull request](https://help.github.com/articles/using-pull-requests), or just browse the source code.

The fork needs documentation. Feel free to contribute :)

License: [GNU GPLv2](LICENSE)

## Features

* Support for Python 2.7+ and Python 3.3+.
* Static visualizations of the call graph using various tools such as Graphviz and Gephi.
* Execute pycallgraph from the command line or import it in your code.
* Customisable colors. You can programatically set the colors based on number of calls, time taken, memory usage, etc.
* Modules can be visually grouped together.
* Easily extendable to create your own output formats.

## Quick Start

OS dependencies:

* Graphviz is open source software and can be installed on Ubuntu/Debian via `apt install graphviz`, or equivalent on other distributions.
  [See here for more information](https://graphviz.org/download/).

Installation is easy as:

    pip install pycallgraph2

The following examples specify graphviz as the outputter, so it's required to be installed. They will generate a file called `pycallgraph.png`.

The command-line method of running pycallgraph is::

    $ pycallgraph graphviz -- ./mypythonscript.py

A simple use of the API is::

    from pycallgraph2 import PyCallGraph
    from pycallgraph2.output import GraphvizOutput

    with PyCallGraph(output=GraphvizOutput()):
        code_to_profile()

## Documentation

Documentation for the fork is a work in progress.




%package -n python3-pycallgraph2
Summary:	Python Call Graph is a Python module that creates call graph visualizations for Python applications.
Provides:	python-pycallgraph2
BuildRequires:	python3-devel
BuildRequires:	python3-setuptools
BuildRequires:	python3-pip
%description -n python3-pycallgraph2
[![CircleCI](https://circleci.com/gh/daneads/pycallgraph2.svg?style=svg)](https://circleci.com/gh/daneads/pycallgraph2)

# Python Call Graph

Note: This is a fork of the original [pycallgraph](https://github.com/gak/pycallgraph) since it became unmaintained.

Welcome! pycallgraph2 is a [Python](http://www.python.org) module that creates [call graph](http://en.wikipedia.org/wiki/Call_graph) visualizations for Python applications.

## Project Status

The project lives on [GitHub](https://github.com/daneads/pycallgraph2), where you can [report issues](https://github.com/daneads/pycallgraph2/issues), contribute to the project by [forking the project](https://help.github.com/articles/fork-a-repo) then creating a [pull request](https://help.github.com/articles/using-pull-requests), or just browse the source code.

The fork needs documentation. Feel free to contribute :)

License: [GNU GPLv2](LICENSE)

## Features

* Support for Python 2.7+ and Python 3.3+.
* Static visualizations of the call graph using various tools such as Graphviz and Gephi.
* Execute pycallgraph from the command line or import it in your code.
* Customisable colors. You can programatically set the colors based on number of calls, time taken, memory usage, etc.
* Modules can be visually grouped together.
* Easily extendable to create your own output formats.

## Quick Start

OS dependencies:

* Graphviz is open source software and can be installed on Ubuntu/Debian via `apt install graphviz`, or equivalent on other distributions.
  [See here for more information](https://graphviz.org/download/).

Installation is easy as:

    pip install pycallgraph2

The following examples specify graphviz as the outputter, so it's required to be installed. They will generate a file called `pycallgraph.png`.

The command-line method of running pycallgraph is::

    $ pycallgraph graphviz -- ./mypythonscript.py

A simple use of the API is::

    from pycallgraph2 import PyCallGraph
    from pycallgraph2.output import GraphvizOutput

    with PyCallGraph(output=GraphvizOutput()):
        code_to_profile()

## Documentation

Documentation for the fork is a work in progress.




%package help
Summary:	Development documents and examples for pycallgraph2
Provides:	python3-pycallgraph2-doc
%description help
[![CircleCI](https://circleci.com/gh/daneads/pycallgraph2.svg?style=svg)](https://circleci.com/gh/daneads/pycallgraph2)

# Python Call Graph

Note: This is a fork of the original [pycallgraph](https://github.com/gak/pycallgraph) since it became unmaintained.

Welcome! pycallgraph2 is a [Python](http://www.python.org) module that creates [call graph](http://en.wikipedia.org/wiki/Call_graph) visualizations for Python applications.

## Project Status

The project lives on [GitHub](https://github.com/daneads/pycallgraph2), where you can [report issues](https://github.com/daneads/pycallgraph2/issues), contribute to the project by [forking the project](https://help.github.com/articles/fork-a-repo) then creating a [pull request](https://help.github.com/articles/using-pull-requests), or just browse the source code.

The fork needs documentation. Feel free to contribute :)

License: [GNU GPLv2](LICENSE)

## Features

* Support for Python 2.7+ and Python 3.3+.
* Static visualizations of the call graph using various tools such as Graphviz and Gephi.
* Execute pycallgraph from the command line or import it in your code.
* Customisable colors. You can programatically set the colors based on number of calls, time taken, memory usage, etc.
* Modules can be visually grouped together.
* Easily extendable to create your own output formats.

## Quick Start

OS dependencies:

* Graphviz is open source software and can be installed on Ubuntu/Debian via `apt install graphviz`, or equivalent on other distributions.
  [See here for more information](https://graphviz.org/download/).

Installation is easy as:

    pip install pycallgraph2

The following examples specify graphviz as the outputter, so it's required to be installed. They will generate a file called `pycallgraph.png`.

The command-line method of running pycallgraph is::

    $ pycallgraph graphviz -- ./mypythonscript.py

A simple use of the API is::

    from pycallgraph2 import PyCallGraph
    from pycallgraph2.output import GraphvizOutput

    with PyCallGraph(output=GraphvizOutput()):
        code_to_profile()

## Documentation

Documentation for the fork is a work in progress.




%prep
%autosetup -n pycallgraph2-1.1.3

%build
%py3_build

%install
%py3_install
install -d -m755 %{buildroot}/%{_pkgdocdir}
if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
pushd %{buildroot}
if [ -d usr/lib ]; then
	find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/lib64 ]; then
	find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/bin ]; then
	find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/sbin ]; then
	find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
fi
touch doclist.lst
if [ -d usr/share/man ]; then
	find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
fi
popd
mv %{buildroot}/filelist.lst .
mv %{buildroot}/doclist.lst .

%files -n python3-pycallgraph2 -f filelist.lst
%dir %{python3_sitelib}/*

%files help -f doclist.lst
%{_docdir}/*

%changelog
* Tue May 30 2023 Python_Bot <Python_Bot@openeuler.org> - 1.1.3-1
- Package Spec generated