Git Product home page Git Product logo

isnalyser's Introduction

PyPI version Contributions welcome GitHub license

Automated isnād tree visualisations

For scholars studying Ḥadīth texts, drawing an isnād tree with more than 40 transmitters is a tedious work and finding the right medium to desplay it fully can even prove to be impossible. The isnalyser is a simple program for the automation of isnād trees drawing and their customisable display in handy formats.

The motivation behind the project

The isnalyser aims at facilitating the analysis of large quantity of aḥādīth and more specifically their chains of transmiters or asānid by allowing scholars to visualise these chains of transmitters quickly in a complete graph that includes geo-spatial and chronological information.

Who is it for?

The isnalyser is open-source and publicly available. It is meant for scholars in Ḥadīth studies who are analysing a great number of aḥādīth and need to visualise their chains of transmitters in a single graph. The program can also be used by any scholars in Islamic studies or else who want to visualise the transmission of a text or its recension history. All data that follows the pattern of numerous chains of transmitters/scribes/citations/etc. can serve as input for the present program.

How?

The isnalyser can be installed easily and is ready to use within seconds following the instructions below. The input data consist of two relational databases, containing the transmitters on the one hand, and the transmission path on the other. See the section Usage below for indications about where to find examples.

Installation

pip install isnalyser

Usage

  • A nice function of isnalyser is view_graph. Let's import it!
from isnalyser import view_graph
  • Now, if you already have some data available that you want to display as an isnād tree, you can use the function we just imported with the following lines:
view_graph(
	'/path/to/your/data/transmitters.csv', # path to transmitters table in .csv format
	'/path/to/your/data/transmissions.csv', # path to transmissions table in .csv format
	15) # step size of timeline
  • If you don't have any data yet, or just want to get an idea of how the isnalyser draws isnād trees, we provided some examples. By looking at them, you can also find out how the data needs to be structured for the isnalyser to work.
view_graph(
	'', # you can write anyting here, as we don't need it
	'', # same is true here
	15, # step size of timeline, change the number if you want to see how it affects the graph
	use_example=True) # use example data
  • Practical examples Besides the example data furnished in this repository (isnalyser/isnalyser/example_data/), the isnalyser was used in a recent publication which is available here:

https://brill.com/view/journals/ils/28/3/article-p125_125.xml?language=en&ebody=figures

It comes from the following article by Omar Anchassi:

Anchassi, Omar. Status Distinctions and Sartorial Difference: Slavery, Sexual Ethics, and the Social Logic of Veiling in Islamic Law, Islamic Law and Society, 2021, 28(3), 125-155. https://doi.org/10.1163/15685195-bja10008

This example will give you an idea of the type of output you can expect from the isnalyser.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.