Saravanan666/pypi-org huggingface dataset:
Package: django-wechats
=====Django-wechats=====Django-wechats is a wrapper for wechat API.Detailed documentation is in the "docs" directory.Quick start-----------1. Add "app" to your INSTALLED_APPS setting like this::INSTALLED_APPS = (...'app',)2. Include the app URLconf in your project urls.py like this::url(r'^app/', include('app.urls')),3. Run `python manage.py migrate` to create the app models.4. Start the development server and visit http://127.0.0.1:8000/admin/to create a app (you'll need the Admin app enabled).5. Visit http://127.0.0.1:8000/app/ to participate in the app.
Package: django-wechat-sdk
# django-wechat微信公众号 django 开发库`wechat-python-sdk`是一个微信sdk库，负责和微信的api通信。但是在多进程环境中，每个进程都会维护自己的一份`Access Token`（同理`JsApi Ticket`）,并且会导致其他进程的`Access Token`失效，所以我们需要一种持久化的方式，让多个进程统一获取和更新一份`Access Token`。`django-wechat`通过数据库持久化解决了这个问题，并且支持同时使用多个公众号。Quick start-----------1 添加 "djwechat" 到 INSTALLED_APPS中```INSTALLED_APPS = (...'djwechat',)```2 运行 `python manage.py migrate`，以创建 django-wechat models.3 在admin后台，添加对应微信号的账号认证信息 和 JsApiList1）账号认证信息的值为：```{"WEIXIN_TOKEN": "6G9IH7EF4D83C5AB","WEIXIN_APP_ID": "wx67fb1f4877bfd511","WEIXIN_APP_SECRET": "646332665dcd63f9e8b83a474f2dbe38","WEIXIN_ENCODING_AES_KEY": "ZvhDvkQ8QpRUvNZUQgDRvrU3ICQEBVEdLvEsmsXTscA"}```2）已申请的JsApiList权限，以空格隔开，如下所示：```scanQRCode getLocation getNetworkType onMenuShareTimeline onMenuShareAppMessage onMenuShareQQ onMenuShareWeibo chooseWXPay```4 在 `django` 中使用```from djwechat.util import get_wechatappid = 'XXXXXXXXXXXXXXXXXX'wechat = get_wechat(appid)....```djwechat会自动在数据库中保存和更新 access_token、jsapi_ticket, 用户只需负责调用就行。
Package: django-wechat-user
====Wechat user====Wechat-user is a app for wehcat user authencationQuick start-----------1 Add 'wechat-user' to your INSTALLED_APPS settings like this::INSTALLED_APPS = [...'wechat-user',]2 Include the wechat-user URLconf in your project urls.py like this::path('wx/', include('wechat-user.urls'))3 Run `python manage.py migrate` to create the wechat-user models
Package: django-wechat-wallet
一个基于django和wechat的钱包模块功能说明：每个微信会员有一个唯一的钱包钱包有交易记录快速开始:安装django-wechat-wallet:pip install django-wechat-wallet修改settings.py文件:INSTALLED_APPS = (
    ...
    'wallet',
    ...
)修改urls.py文件:url(r'^wallet/', include('wallet.urls', namespace='wallet')),更新数据库:python manage.py makemessage wallet

python manage.py migrate版本更改:v0.1 第一版
Package: django-wechat-web
===django-wechat-web===django-wechat-web is a simple Django app to conduct Wechat-web-based helper. For eachquestion, visitors can choose between a fixed number of answers.Detailed documentation is in the 'docs' directory.Quick start-----------1. Add 'django_wechat_web' to to your INSTALLED_APPS setting like this::INSTALLED_APPS = [...'django_wechat_web',]2. Add WECHAT to your settings file::WECHAT = {'appid': 'YOUR APPID','appsecret': 'YOUR APP Secret',}3. Run `python manage.py makemigrations django_wechat_web; python manage.py migrate` to create the django_wechat_web models.4. In your app view where your need get wechat user openid, do like this::from django_wechat_web import WechatViewclass YourViewName(WechatView):'''Extends WechatView and over get methodHere WechatView extends django.views.generic.View'''scope = 'snsapi_base' # default...def get(self, request, *args, **kwargs):# your code .......5. Now you can do anything the same as `django.views.generic.View`.6. More:django_wechat_web:model:WechatBaseWechatUserInfowechat:WechatView# django-wechat-web### 2016-05-03* update request encoding utf-8* how to```_req = request.get(URL)_req.encoding = 'utf-8'_req.json() # here string is utf-8 encoding```### 2016-05-01* reconstruct WechatView```//1. openid ---session存在--> 3---session不存在--> 22. 跳转 令STATE=SCOPE.replace('_', '')3. 获取STATE, 如果STATE=snsapibase, 则获取openid;如果STATE=snsapiuserinfo, 则获取openid和userinfo4. 结束```### 2016-04-30* version 0.0.15* fix wechat.py need field: openid* version 0.0.14* WechatUserInfo Model add objects field, add new Manager method: empty_json### 2016-04-29* Fix Bug:* save_userinfo_or_not 应该保存在session中，并且使用userinfo完要将其置为False，防止重复获取userinfo* Fix Bug:* 问题: 第一次授权的时候就去哪用户信息导致奔溃* 解决: 设置一个是否存储用户信息的变量save_userinfo_or_not, 默认为False, 只有满足需要获取userinfo的条件时才设为True; 然后save_userinfo_or_not为True, 才获取用户信息* Fix Bug* error function args* update WechatView* scope设置为snsapi_userinfo 时，说明希望保留用户详细信息* 但是, 又不希望用户多次snsapi_userinfo方式授权, 所以过程是这样的```-> 1.默认snsapi_base方式跳转-> 2.拿到code, 获取openid, 将openid存到session-> 3.如果openid存在并且openid对应的WechatUserInfo模型数据不存在并且scope为snsapi_userinfo, 则将再次跳转到snsapi_userinfo方式; 如果openid不存在, 或者openid存在，但WechatUserInfo数据存在, 或者 openid存在，但是scope不是snsapi_userinfo, 则跳转第五步-> 4.跳回步骤2-> 5. 授权结束, 接下来执行你的动作```### 2016-04-27* update WechatView* add class boolean attr: swicth* `swicth=True` (default): open wechat redirect/authentication* `swicth=False` : The same as django.views.generic.View
Package: django-wechatwork-tool
WeChatWorkToolWechatworktool is a Django app,which is used to facilitate the internal application development of enterprise wechat and call enterprise wechat interface fasterQuick startInstallpip install django-wechatwork-toolAdd "WeChatWorkTool" to your INSTALLED_APPS setting like this:# setting.pyINSTALLED_APPS=[...'WeChatWorkTool',...]Run python manage.py migrate to create the AccessToken models.Start the development server and visithttp://127.0.0.1:8000/admin/to create a AccessToken (need WeChatWork's corpid and an app secret of WeChatWork)Call where needed:...fromWeChatWorkToolimporttool...app=tool.CorpApp('sap')print(app.app_info())# Details of WeChatWork internal applicationsprint(app.get_user('FS0397'))# Get employee details through employee IDApplication verification and callback exampleimportjsonfromdjango.httpimportHttpResponsefromdjango.views.decorators.csrfimportcsrf_exemptfromWeChatWorkToolimporttool@csrf_exemptdefcall_back(request):"""WeChatWork messqge callback Simple Example"""ifrequest.method=='GET':# Authentication  urldata=request.GET.dict()returnHttpResponse(tool.call_back_verify(data,'sap'))ifrequest.method=='POST':url_data=request.GET.dict()cb=tool.CorpApp('sap').call_back_data(url_data,request.body)returnHttpResponse(json.dumps(cb),content_type="application/json")WeChatWorkToolCorpApp: WeChatWorks custom applicationdefapp_info(self):"""get this app info:return: App Info"""defget_userid_by_code(self,code):"""get userid by code锛孖t's just for webpage authorization link:param code: in webpage authorization link:return:UserId"""defget_user(self,userid):"""get user info:param userid: WeChatWork user's id:return: a dict that user info"""defget_user_tag_list(self):"""get user tag list:return: user tag list"""defget_department_user_simplelist(self,department_id,fetch_child=False):"""get user simplelist by department id:param department_id::param fetch_child::returnFor success example:{"errcode" : 0,"errmsg" : "ok","invaliduser" :"","invalidparty" : "","invalidtag": ""}For error example:{"errcode" : 0,"errmsg" : "ok","invaliduser" : [userid1,userid2],"invalidparty" : [partyid1,partyid2],"invalidtag": [tagid1,tagid2]}"""defget_department_user_list(self,department_id,fetch_child=False):"""get user list by department id:param department_id::param fetch_child::return:"""defget_department(self,id):"""get department info list:param id: WeChatWork department's id:return:"""defSendMsg(self,msgobj,touser:list=[],toparty:list=[],totag:list=[],safe=0,enable_id_trans=0,enable_duplicate_check=0,duplicate_check_interval=1800):""":param touser::param toparty::param totag::param msgobj::param safe::param enable_id_trans::param enable_duplicate_check::param duplicate_check_interval::return:"""Massage objectThe message type corresponds to the message type of WeChatWorkTextMessageObjectMediaMessageObjectTextCardMessageObjectNewsMessageObjectMarkDownMessageObjectTaskCardBtnTemplateTaskCardMessageObject
Package: django-weekday-field
A field that encapsulates the handling of selection of 0 or more weekday choices.Uses Django’s CommaSeparatedIntegerField internally.Usage:from django.db import modelsimport weekday_fieldclass MyModel(models.Model):weekdays = weekday_field.fields.WeekdayField()There is also a BitwiseWeekdayFormField, contributed by Andrew Gall <housepage@gmail.com>, which stores the data in a single integer.Thanks to NaderM <https://bitbucket.org/NaderM>, 1.1.0 includes python3 support, and extensive testing.
Package: django-weeklycalendar
=====================django-weeklycalendar=====================django-weeklycalendar is a simple calendar that keep activities and publish it to people in weekly form.Quick Start-----------1. Install django-weeklycalendarpip install django-weeklycalendar2. Add django-weeklycalendar to your INSTALLED_APPS in setting.pyINSTALLED_APPS = [...'django-weeklycalendar',]3. Include the polls URLconf in your project urls.pypath('calendar', include("Calendar.urls"))4. Make migrations./manage.py makemigrations./manage.py migrate5. Start your project and test app
Package: django-weeny
Simple URL shortener app for Django.FeaturesContent-Types based wiring, meaning you can hook a short URL to any object
in your database.URL tracking. Control URL tracking per-site or per-URL. Collects extensive
User Agent information which gives a good base for collecting statistics.Password protection on single URL’s.Absolutely no tests whatsoever. <self sarcasm>This code is completely untestet,
which is a major selling point!</self sarcasm>DocumentationRead the full documentationhere
Package: django-weight-sort-signal
django weight sort signaldjango_weight_sort_signal is change order of Django signals sorting by using weight.
its help you weight signal handling with third-party apps also without changing signal classInstallation#. Install django-weight-sort-signal usingpip::pip install django-weight-sort-signalConfiguration#.settings.py::INSTALLED_APPS = [
        ...
        'django_weight_sort_signal',
    ]
'''Configuration for third party app signal usage#.settings.py::INSTALLED_APPS = [
        
        'django_weight_sort_signal', #django_weight_sort_signal put into top in the INSTALLED_APPS
        'django.contrib.admin',
        'django.contrib.auth',
        ...
    ]
'''  

DJANGO_WEIGHT_SORT_SIGNAL ={
    'DEFAULT_SIGNAL':True, #its help you weight signal handling with third-party apps without changing signal class
    
}Signal#.signal.py::from django_weight_sort_signal.dispatcher import WeightSortSignal

order_refresh = WeightSortSignal(providing_args=["order"])RecieverIn receiver callback we can give weight to sort#.receiver.py::from .signals import order_refresh

from django_weight_sort_signal.dispatcher import receiver as weight_sort_receiver


@weight_sort_receiver(order_refresh,weight=10)
def tax_order_refresh(sender,order, **kwargs):
    #tax amount calculation functionality triggered on order_refresh signal dispatch
    pass


@weight_sort_receiver(order_refresh,weight=20)
def discount_order_refresh(sender,order, **kwargs):
    #discount amount calculation functionality triggered on order_refresh signal dispatch
    pass

@weight_sort_receiver(order_refresh,weight=30)
def shipping_order_refresh(sender,order, **kwargs):
    #shipping amount calculation functionality triggered on order_refresh signal dispatch
    passReciever for third-party apps Eg:In receiver callback we can give weight to sort without changing the base signal#.receiver.py::from django.contrib.auth.signals import user_logged_in

def do_stuff(sender, user, request, **kwargs):
    #ADD SOME CODE 
user_logged_in.connect(do_stuff,weight=10)

def do_stuff2(sender, user, request, **kwargs):
    #ADD SOME CODE 
user_logged_in.connect(do_stuff2,weight=20)We can dispatch signal anywhere as following.Send :#. ::from .signals import order_refresh


order = Order.objects.get(pk=10001)
order.status="review"
order.save()
order_refresh.send(sender=None,order=order)
Package: django-weixin
=====django-weixin=====Django-wechat采用Django框架实现微信公众号的开发.详尽的文档在 "docs" 文件夹中.Quick start-----------1. 添加'django-weixin'在你的setting.py文件中::INSTALLED_APPS = (...'django_weixin',)2. 配置URL路由::url(r'^django-weixin/', include('django_weixin.urls')),3. 运行'python manage.py makemigrations && python manage.py migrate'命令来进行model的创建.
Package: django-welkin
WelkinWelkin is a Django app to connect to the Welkin Health API.Quick startInstall django-welkin with pip:pip install django-welkinAdd django-welkin and django-solo to your INSTALLED_APPS setting like this:INSTALLED_APPS=[..."solo",'django_welkin',]Include the django-welkin URLconf in your project urls.py like this:path('welkin/',include('django_welkin.urls')),Runpython manage.py migrateto create the welkin models.Start the development server and visithttp://localhost:8000/admin/welkin/configuration/to and add API secrets to the singleton (you'll need the Admin app enabled).ConfigurationSyncing UsersThe sync command will only sync the users who have one of the roles insettings.WELKIN_SYNC_ROLES.
When set this should be a list containing the roles that are allowed to be synced.
For instance by default this list is:["health-coach","physician"]
Package: django-wellknown-security
https://securitytxt.org/A proposed standard which allows websites to define security policies.https://tools.ietf.org/html/draft-foudil-securitytxt-10#section-3.5.3based on:https://adamj.eu/tech/2020/06/28/how-to-add-a-well-known-url-to-your-django-site/Quick startAdd “polls” to your INSTALLED_APPS setting like this:INSTALLED_APPS = [
    ...
    'wellknown_security',
]Include the polls URLconf in your project urls.py like this:from django.conf.urls import include
...
path('.well-known/', include('wellknown_security.urls')),Add at least the contact info (either value is fine, can be multiple or just a single one) to settings.pyContact:WELLKNOWN_SECURITY_CONTACT = (
  'mailto:security@example.com',
  'mailto:security%2Buri%2Bencoded@example.com',
  'tel:+1-201-555-0123',
  'https://example.com/security-contact.html'
)other values can be added as well, e.gEncryption:WELLKNOWN_SECURITY_ENCRYPTION = (
  'https://example.com/pgp-key.txt',
  'dns:5d2d37ab76d47d36._openpgpkey.example.com?type=OPENPGPKEY',
  'openpgp4fpr:5f2de5521c63a801ab59ccb603d49de44b29100f'
)Start the development server and visithttp://127.0.0.1:8000/.well-known/security.txtto check the resultsOutput:Contact: mailto:security@example.com
Contact: mailto:security%2Buri%2Bencoded@example.com
Contact: tel:+1-201-555-0123
Contact: https://example.com/security-contact.html

Encryption: https://example.com/pgp-key.txt
Encryption: dns:5d2d37ab76d47d36._openpgpkey.example.com?type=OPENPGPKEY
Encryption: openpgp4fpr:5f2de5521c63a801ab59ccb603d49de44b29100f
Package: djangoWenzhi
=====
djangoWenzhidjangoWenzhi project is demo application for codingsohoDetailed documentation is in the "docs" directory.Quick startAdd "wenzhi" to your INSTALLED_APPS setting like this::INSTALLED_APPS = [
...
'wenzhi',
]Include the polls URLconf in your project urls.py like this::url(r'^wenzhi/', include('wenzhi.urls')),Runpython manage.py migrateto create the wenzhi models.Start the development server and visithttp://127.0.0.1:8000/admin/to create a models if needed (you'll need the Admin app enabled).Visithttp://127.0.0.1:8000/wenzhi/to participate in the poll.
Package: django-wenzhi
=====
django-wenzhidjango-wenzhi project is demo application for codingsohoDetailed documentation is in the "docs" directory.Quick startAdd "wenzhi" to your INSTALLED_APPS setting like this::INSTALLED_APPS = [
...
'wenzhi',
]Include the polls URLconf in your project urls.py like this::url(r'^wenzhi/', include('wenzhi.urls')),Runpython manage.py migrateto create the wenzhi models.Start the development server and visithttp://127.0.0.1:8000/admin/to create a models if needed (you'll need the Admin app enabled).Visithttp://127.0.0.1:8000/wenzhi/to participate in the poll.
Package: django-wepay
Django App for WePay http://www.wepay.comAboutIf you start using WePay API you realize that there is a bunch of stuff needs to
be stored locally, so that was an actual motivation for creation of this
app. There is functionality for storing information for all objects in the
database. For each object you can choose to store only minimal fields,
all fields and/or add custom fields required for your app. It also handlesIPN
(instant payment notifications)for all supported objects.StatusBeta. Although it is used in production, some objects like credit card and
subscriptions haven’t been thoroughly tested.TODOFull Documentation.More tests.Admin pages for all objects.RequirementsRegistered Application with WePay. (tailored for versions >= ‘2014-01-08’)Python WePay SDKDjango >= 1.4Cache framework properly configured for djangoFeaturesSupports all WePay API calls.Customizable models for all objects.Ability to make API calls right from the model instance.All lookup and create API calls automatically save changes in the database.IPN calls handling for all objects.Signals upon state change an objects as well as for an IPN call.Ability to change backend (communication module with WePay). Default backend features:
* Protection from throttling (threadsafe with memcache)
* Automatic storing of batch calls for later invocation.
* LoggingConfigurationAdd ‘djwepay’ toINSTALLED_APPS(Optionally) Extend and customize models, point to their location inWEPAY_MODELS, run syncdb (or migrations). If this step omitted all models
will be created.Add your WePayAppeither in admin or directly into database. Set correctWEPAY_APP_ID.SettingsRequired:WEPAY_APP_ID- WePay Application Client ID (and associated entry in database for this id).Optional:WEPAY_MODELS- a list of tuples (‘object_name’, ‘app_name.ModelName’) for
objects you will be working with, ex:WEPAY_MODELS = (
    ('app', 'myapp.WePayApp'),
    ('user', 'myapp.WePayUser'),
    ('account', 'myapp.WePayAccount'),
    ('checkout', 'myapp.WePayCheckout'),
    ('preapproval', 'myapp.WePayPreapproval'),
    ('withdrawal', 'myapp.WePayWithdrawal'),
    ('credit_card', None),
    ('subscription_plan', None),
    ('subscription', None),
    ('subscription_charge', None)
)API_BACKEND- backend to be used for communication with WePay. Default is
‘djwepay.backends.default.WePay’DEFAULT_SCOPE- default WePay permissions, full by default.Default backend settingsWEPAY_DEBUG- if set to True and logging is setup will log every API
call. Defaults to theDEBUGsetting.WEPAY_THROTTLE_PROTECT- turns on/off throttle protection.WEPAY_THROTTLE_CALL_LIMIT- number of calls before your app will be
throttled after. Default is 30.WEPAY_THROTTLE_TIMEOUT- throttle timespan. Default is 10 seconds.WEPAY_THROTTLE_CALL_KEY- cache key for storing throttling info.WEPAY_CACHE_BATCH_KEY_PREFIX- cache key prefix for storing batch calls
and associated callbacks in cache, for later processing.WEPAY_DOMAIN- your site’s domain, ifNonewill use django’ssitesapp.
Package: django-werkzeug
Django Werkzeug===============[![Current version on PyPI](http://img.shields.io/pypi/v/django-werkzeug.svg)][pypi]Enhances Django `runserver` with [Werkzeug][].This project uses [Django Extensions][] under the hood. It "wraps" it, alongwith Werkzeug, so you don't have to add an explicit `werkzeug` dependencyto your `requirements.txt` or remember a new command.Why---Werkzeug and its builtin error page has proven to be indispensable in a numberof Django projects. While Django Extensions is also a great tool, the fullextent of it is not always needed in specific projects.Also, when committing to Werkzeug, it's convenient to run the `runserver`instead of learning a new command. This brings newcomers to your team up tospeed without further instruction and doesn't require existing members tochange their muscle memory during their day-to-day.If you want to use Werkzeug on certain projects, but don't want to keep trackof which ones, this package is for you.Requirements------------Django Werkzeug requires Django 1.8 or later.Installation------------```bash$ pip install django-werkzeug```Then enable it by adding it to `INSTALLED_APPS` in your `settings.py` file:```pythonINSTALLED_APPS = ['django_werkzeug',...]```Usage-----```bash$ python manage.py runserver```Or to run Django's classic builtin server, run:```bash$ python manage.py runserver_classic```Contributing------------1. Check the open issues or open a new issue to start a discussion aroundyour feature idea or the bug you found2. Fork the repository and make your changes3. Create a new pull request[pypi]: http://pypi.python.org/pypi/django-werkzeug/[werkzeug]: https://github.com/pallets/werkzeug[django extensions]: https://github.com/django-extensions/django-extensions
Package: django-werkzeug-debugger-runserver
This app extracts therunserver_plusmanagement command fromdjango-extensionsand makes it available as a replacement for Django’s
defaultrunservermanagement command.InstallationInstall from PyPI:pip install django-werkzeug-debugger-runserverConfigurationEdit yoursettings.pyand includewerkzeug_debugger_runserverin yourINSTALLED_APPSbeforedjango.contrib.staticfiles:INSTALLED_APPS = (
    # ...
    'werkzeug_debugger_runserver',
    'django.contrib.staticfiles',
    # ...
)UsageStart the development server usingpython manage.py runserveras usual. If
you run into an error the debugger-enabled error view will be shown in the
browser. If you want to force the debugger view to appear you can do it using
something likeraise Exceptionin your code.
Package: django-wfs
# django-wfsA WFS (web feature service) implementation as a Django application.This implementation of WFS (currently) **very loosely** follows the [1.0.0 spec](http://www.opengeospatial.org/standards/wfs). It is currently **only tested with a PostGIS backend**.What you can expect:- GetCapabilities- DescribeFeatureType- GetFeature- Django Queryset filteringWhat is not here yet:- Transactional requests- Native WFS filtering (bbox and friends)# Requirements- Django- Django sites framework- PostgreSQL + PostGIS# Example appAn example application can be found in the "example" folder of this repository.# Installationpip install django-wfsAdd these to your `INSTALLED_APPS` setting:INSTALLED_APPS = (...'django.contrib.gis','django.contrib.sites','wfs',...)And define a `SITE_ID` if you haven't yet:SITE_ID = 1In your `urls.py` add (the actual regex can be anything, it doesn't have to be `^wfs/`):url(r'^wfs/', include('wfs.urls')),Make sure you have a working PostGIS GeoDjango installation. Generally, if your database engine is `'django.contrib.gis.db.backends.postgis'`, stuff will probably not break too much.# WFS Service and Feature TypesIn the admin you'll now have a WFS section with Services and Feature Types. These are the concepts present in the WFS spec but generally you can have multiple feature types in each service.A Service is an endpoint like `/wfs/1` (service with ID 1). It has the parameters defined in the spec:- Name- Title- Keywords- Abstract- Fees- Access constraintsAfter you create a Service in the Django Admin you can then associate a Feature Type to the created service. A Feature Type has the following parameters:- Service (foreign key)- Name (**no spaces!!**)- Title- Keywords- Abstract- SRS: Spatial Reference System used by the Feature Type. Defaults to WGS 84 (EPSG:4326)- Model (any model present in your Django project which contains a geo field)- Fields (after selecting a Model and pressing the "Save and continue editing" button and you'll see its fields. The ones you select will be exposed through the service)- Query (JSON representation of Django queryset filters. Example follows)### QueryThe JSON representation of Django queryset filters allow you cut down results presented by a Feature Type. Some examples:Only display entries from a model if they belong to the "vascop" user:{"user__username":"vascop"}Only display entries from a model if they belong to the "vascop" user and are published:{"user__username":"vascop", "published": true}# Possible problemsIf you have `APPEND_SLASH = True` (which is the Django default) and you're adding your WFS service to QGIS be sure to insert the connection with an appended slash, otherwise Django replies with a 301 code and QGIS won't display your layer.Be sure to use Feature Type names which have no spaces or special characters. The title can have whatever you want.Any other problem, submit an issue and I'll try to take a look at it.