All Projects → rakhimov → Cppdep

rakhimov / Cppdep

Licence: gpl-3.0
C/C++ Dependency Analyzer: a rewrite of John Lakos' dep_utils (adep/cdep/ldep) from "Large-Scale C++ Software Design"

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Cppdep

Dart Code Metrics
Software analytics tool that helps developers analyse and improve software quality.
Stars: ✭ 96 (-16.52%)
Mutual labels:  quality, metrics
Phpmetrics
Beautiful and understandable static analysis tool for PHP
Stars: ✭ 2,180 (+1795.65%)
Mutual labels:  quality, metrics
Jpeek
Java Code Static Metrics (Cohesion, Coupling, etc.)
Stars: ✭ 168 (+46.09%)
Mutual labels:  quality, metrics
Piqa
PyTorch Image Quality Assessement package
Stars: ✭ 108 (-6.09%)
Mutual labels:  quality, metrics
Qualinsight Plugins Sonarqube Badges
Plugin for SonarQube that generates badges displaying information about a project's or view's quality.
Stars: ✭ 108 (-6.09%)
Mutual labels:  quality
Kirby Matomo
Matomo integration for Kirby, in both your panel and templates. Kirby 3 only.
Stars: ✭ 103 (-10.43%)
Mutual labels:  metrics
Evo
Python package for the evaluation of odometry and SLAM
Stars: ✭ 1,373 (+1093.91%)
Mutual labels:  metrics
Review object detection metrics
Review on Object Detection Metrics: 14 object detection metrics including COCO's and PASCAL's metrics. Supporting different bounding box formats.
Stars: ✭ 100 (-13.04%)
Mutual labels:  metrics
Csrankings
A web app for ranking computer science departments according to their research output in selective venues, and for finding active faculty across a wide range of areas.
Stars: ✭ 1,686 (+1366.09%)
Mutual labels:  metrics
Zabbix
Real-time monitoring of IT components and services, such as networks, servers, VMs, applications and the cloud.
Stars: ✭ 1,914 (+1564.35%)
Mutual labels:  metrics
Grafana
The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
Stars: ✭ 45,930 (+39839.13%)
Mutual labels:  metrics
Pytest Monitor
Pytest plugin for analyzing resource usage during test sessions
Stars: ✭ 105 (-8.7%)
Mutual labels:  quality
Memcached exporter
Exports metrics from memcached servers for consumption by Prometheus.
Stars: ✭ 109 (-5.22%)
Mutual labels:  metrics
Appmetrics.js
A small (< 1kb) library for measuring things in your web app and reporting the results to Google Analytics.
Stars: ✭ 1,383 (+1102.61%)
Mutual labels:  metrics
Instruments
Collecting metrics over discrete time intervals
Stars: ✭ 111 (-3.48%)
Mutual labels:  metrics
Telemetry poller
Periodically gather measurements and publish them as Telemetry events
Stars: ✭ 101 (-12.17%)
Mutual labels:  metrics
Prometheus
The Prometheus monitoring system and time series database.
Stars: ✭ 40,114 (+34781.74%)
Mutual labels:  metrics
Trello Kanban Analysis Tool
💤 [Not maintained] Analyse Kanban metrics from a Trello board -
Stars: ✭ 110 (-4.35%)
Mutual labels:  metrics
Pingprom
Prometheus uptime monitoring quickstart
Stars: ✭ 107 (-6.96%)
Mutual labels:  metrics
Carbon
Carbon is one of the components of Graphite, and is responsible for receiving metrics over the network and writing them down to disk using a storage backend.
Stars: ✭ 1,435 (+1147.83%)
Mutual labels:  metrics

|logo|

.. image:: https://travis-ci.org/rakhimov/cppdep.svg?branch=master :target: https://travis-ci.org/rakhimov/cppdep .. image:: https://ci.appveyor.com/api/projects/status/1ff39sfjp7ija3j8/branch/master?svg=true :target: https://ci.appveyor.com/project/rakhimov/cppdep/branch/master :alt: 'Build status' .. image:: https://codecov.io/gh/rakhimov/cppdep/branch/master/graph/badge.svg :target: https://codecov.io/gh/rakhimov/cppdep .. image:: https://landscape.io/github/rakhimov/cppdep/master/landscape.svg?style=flat :target: https://landscape.io/github/rakhimov/cppdep/master :alt: Code Health .. image:: https://badge.fury.io/py/cppdep.svg :target: https://badge.fury.io/py/cppdep

|

cppdep performs dependency analysis among components/packages/package groups of a large C/C++ project. This is a rewrite of dep_utils(adep/cdep/ldep), which is provided by John Lakos' book "Large-Scale C++ Software Design", Addison Wesley (1996).

.. |logo| image:: logo.png

Limitations

  • Indirect extern declarations of global variables or functions instead of including the proper component header with the declarations.
  • Embedded dynamic dependencies, such as dynamic loading and configurable internal services.
  • Preprocessing or macro expansion is not performed. Dependency inclusion via preprocessor meta-programming is not handled.
  • Dependency exclusion with C style multi-line comments or macros is not respected.

Requirements

#. Python 2.7 or 3.4+ #. NetworkX <http://networkx.lanl.gov/>_ #. pydot #. pydotplus #. PyYAML #. PyKwalify 1.6.0+

The dependencies can be installed with pip.

.. code-block:: bash

$ sudo pip install -r requirements.txt

Installation

From the source:

.. code-block:: bash

$ ./setup.py install

The latest stable release from PyPi:

.. code-block:: bash

$ pip install cppdep

Usage

Create a configuration file that describes the project for analysis. config_schema.yml is given for guidance.

In the root directory of the project with the configuration file, run the following command to generate dependency analysis reports and graphs.

.. code-block:: bash

$ cppdep -c /path/to/config/file

More documentation and example configurations can be found in project wiki <https://github.com/rakhimov/cppdep/wiki>_.

Acknowledgments

  • John Lakos for inventing the analysis and providing dep_utils.
  • Zhichang Yu <https://github.com/yuzhichang>_ for rewriting dep_utils into Python.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].