Skip to main content

Negar

PyPI repo size GitHub forks GitHub issues GitHub license Downloads Downloads

Negar is an editor(=virastar in Persian) for Persian text. The project is initially inspired by virastar. Thank you Aziz for your great job.

Installation

PyPi

python-negar is available on PyPi:

$ pip install python-negar

Git

You can get the latest stable changes from the GitHub server:

$ git clone https://github.com/shahinism/python-negar.git
$ cd python-negar
$ python setup.py install

Zip, Tarball

You can download the latest tarball.

*nix

Get the latest tarball & install:

$ wget -O python-negar-master.tar.gz https://github.com/shahinism/python-negar/archive/master.tar.gz
$ tar xvzf python-negar-master.tar.gz && cd python-negar-master
$ python setup.py install

Windows

Download the latest zip archive.

https://github.com/shahinism/python-negar/archive/master.zip

Decompress it, and run the following command in the root directory of python-negar

$ python setup.py install

Requirements

$ pip install regex

Usage

Calling by default options:

from negar.virastar import PersianEditor

test = r"""قابلیت های ویراستار ' نگار  ':
* جایگزینی
+ خط تیره های پیاپی نظیر (--) و (---) با معادل های استاندارد شان
+ سه نقطه ی پیاپی (...) با کاراکتر استانداردش در زبان فارسی
    + علایمی نظیر کوتیشن فارسی با گیومه ؛  'نگار'
    + اعداد عربی '١٢٣٤٥٦٧٨٩٠' و انگلیسی '1234567890'  با معادل فارسی
    + کاراکتر های غیر فارسی نظیر ',;%يةك' با معادل های فارسی

* تنظیم فاصله
    + کلماتی که با 'ی' پسوند همراه هستند مانند 'همه ی ' -- و البته امکان جایگزینی آن با حمزه 'ء' ( در صورت انتخاب کاربر )
    + پرانتز ها  یا دیگر علایم ؛ ( نگار )
    + علائم نقطه‌گذاری ؛ بدون فاصله از قبل و با یک فاصله از بعد به استثنای اعداد اعشاری مانند 12.4
    + در پیشوند کلمات با نیم‌فاصله نظیر ' می شود '، ' میشود '، ' بی شک '، ' بیشک ' , ' خانه اش '، ' وظیفه شناس ' ، ' کمک تان '  و یا ' نمیرود '
    + در پسوند کلمات با نیم‌فاصله نظیر کتابها، خوشترین -- و البته امکان عدم تنظیم (در صورت انتخاب کاربر)

* جلوگیری از
    + استفاده ی بیش از یک علامت ؟؟؟؟ یا !!!
    + کشیـــــــــدگـــــــــــــــــی در کــــــــــــلمــــات
    + فضا های         خالی     بیش          از       حد"""

print(PersianEditor(text))

result:

قابلیت‌های ویراستار «نگار»:
* جایگزینی
+ خط تیره‌های پیاپی نظیر (–) و (—) با معادل‌های استانداردشان
+ سه نقطه‌ی پیاپی (…) با کاراکتر استانداردش در زبان فارسی
    + علایمی نظیر کوتیشن فارسی با گیومه؛ «نگار»
    + اعداد عربی «۱۲۳۴۵۶۷۸۹۰» و انگلیسی «۱۲۳۴۵۶۷۸۹۰» با معادل فارسی
    + کاراکترهای غیر فارسی نظیر «، ؛ ٪یهک» با معادل‌های فارسی

* تنظیم فاصله
    + کلماتی که با «ی» پسوند همراه هستند مانند «همه‌ی» – و البته امکان جایگزینی آن با حمزه «ء» (در صورت انتخاب کاربر)
    + پرانتزها یا دیگر علایم؛ (نگار)
    + علائم نقطه‌گذاری؛ بدون فاصله از قبل و با یک فاصله از بعد به استثنای اعداد اعشاری مانند ۱۲.۴
    + در پیشوند کلمات با نیم‌فاصله نظیر «می‌شود»، «می‌شود»، «بی‌شک»، «بی‌شک»، «خانه‌اش»، «وظیفه‌شناس»، «کمک‌تان» و یا «نمی‌رود»
    + در پسوند کلمات با نیم‌فاصله نظیر کتاب‌ها، خوش‌ترین – و البته امکان عدم تنظیم (در صورت انتخاب کاربر)

* جلوگیری از
    + استفاده‌ی بیش از یک علامت؟ یا!
    + کشیدگی در کلمات
    + فضاهای خالی بیش از حد

Enabling extra features/args:

##
args = []
args.append('fix-english-quotes')
args.append('cleanup-spacing')
print(PersianEditor(text, *args))

Full list of args with description:

--fix-dashes                 Disable fix dashes feature
--fix-three-dots             Disable fix three dots feature
--fix-english-quotes         Disable fix english quotes feature
--fix-hamzeh                 Disable fix hamzeh feature
--hamzeh-with-yeh            Use 'Hamzeh' instead of 'yeh' for fix hamzeh feature
--fix-spacing-bq             Disable fix spacing braces and qoutes feature
--fix-arabic-num             Disable fix arabic num feature
--fix-english-num            Disable fix english num feature
--fix-non-persian-chars      Disable fix misc non persian chars feature
--fix-p-spacing              Disable fix prefix spacing feature
--fix-p-separate             Disable fix prefix separating feature
--fix-s-spacing              Disable fix suffix spacing feature
--fix-s-separate             Disable fix suffix separating feature
--aggresive                  Disable aggresive feature
--cleanup-kashidas           Disable cleanup kashidas feature
--cleanup-ex-marks           Disable cleanup extra marks feature
--cleanup-spacing            Disable cleanup spacing feature
--trim-lt-whitespaces        Disable Trim leading trailing whitespaces
--exaggerating_zwnj          Disable suffix separation as much as possible

GUI & CLI

There are two companions with this repository to support GUI and CLI, named negar-gui and negar-cli, respectively.

Both of them are available on PyPI.

Contributors

Metadata

Release files for python-negar 1.4.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for python-negar 1.4.3
File Size Uploaded
python_negar-1.4.3.tar.gz 38.3 kB Details

Release files / python_negar-1.4.3.tar.gz

Download URL python_negar-1.4.3.tar.gz
Size 38.3 kB
Tags Source
SHA-256 checksum
How to use checksums
0f72f3ebdc63931d16d909292ea2484eebdcae997a6aa37fd8591f144d468539
BLAKE2b-256 checksum
How to use checksums
a56216853fce8bc414dcbe60e371da2a0b5faf6f8a3c07309a5050693e3b9719
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.12.7

Release history Release notifications | RSS feed

This release

1.4.3 This release

1 release file

1.4.2

1 release file

1.4.1

1 release file

1.4

1 release file

1.3

1 release file

1.2.15

1 release file

1.2.13

1 release file

1.2.12

1 release file

1.2.11

1 release file

1.2.9

1 release file

1.2.8

1 release file

1.2.7

1 release file

1.2.6

1 release file

1.2.5

1 release file

1.2.4

1 release file

1.2.2

1 release file

1.2.1

1 release file

1.2

1 release file

1.1.17

1 release file

1.1.16

1 release file

1.1.15

1 release file

1.1.14

1 release file

1.1.13

1 release file

1.1.12

1 release file

1.1.11

1 release file

1.1.10

1 release file

1.1.9

1 release file

1.1.8

1 release file

1.1.7

1 release file

1.1.6

1 release file

1.1.5

1 release file

1.1.4

1 release file

1.1.3

1 release file

1.1.2

1 release file

1.1.1

1 release file

1.1

1 release file

1.0.6

1 release file

1.0.5

1 release file

1.0.4

1 release file

1.0.3

2 release files

1.0.2

1 release file

1.0.1

1 release file

1.0.0

1 release file

0.9.91

1 release file

0.9.9

1 release file

0.9.8

1 release file

0.9.7

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page